Содержание
- 2. В отличие от языка Pascal в Си нет разделения на подпрограммы-процедуры и подпрограммы-функции, здесь вся программа
- 3. Декларация функции Как любой объект программы на языке Си, пользовательские функции необходимо декла-рировать. Хорошим стилем программирования
- 4. Прототип функции сообщает компилятору о том, что далее будет ее реализация. В прототипе задаются свойства функции
- 5. В Списке перечисляются типы параметров, а имена переменных можно не указывать, т.к. компилятор их не обрабатывает.
- 6. Определение функции – это ее полный текст, включающий заголовок (первая строка) и код: Тип возвращаемо- Имя
- 7. Тип возвращаемого результата определяет тип Выражения, значение которого возвращается в точку ее вызова при помощи оператора
- 8. Если функция не возвращает значения, указывается void. При досрочном выходе из функции void используется оператор return;
- 9. В объявлении и в определении одной и той же функции типы и порядок следования параметров должны
- 10. В функции может быть несколько операторов return, но может и не быть ни одного, например в
- 11. Эту функцию можно реализовать иначе с использованием оператора if : int Min (int x, int y)
- 12. Вызов функции Каждая функция – это отдельный блок, вход в который возможен только через ее вызов.
- 13. В Списке аргументов могут быть константы, переменные и выражения, которые перед вызовом функции вычисляются. Аргументы должны
- 14. Связь можно осуществить и через глобальные переменные, но это не рекомендуется, т.к. нужно стремиться к тому,
- 15. Передача данных в функцию и получение ее результатов В языке Си аргументы при вызове функции обычно
- 16. Для получения результатов из функции используется оператор return, позволяющий получить только одно значение, указанного в заголовке
- 17. Исходя из вышесказанного следует, что – параметры, переданные по значению, т.е. с использованием их идентификаторов, могут
- 18. Функции, возвращающие значение, желательно использовать в правой части выражений, иначе возвращаемый результат будет утерян. Например стандартная
- 19. Пример 1. Вычисление суммы двух int величин: int Sum ( int x, int y ) {
- 20. Иначе функцию Sum можно записать: int Sum ( int x, int y ) { int s;
- 21. Пример 2. Функция вычисления суммы и разности двух int значений (3-й параметр – указатель): int Fun
- 22. Третий параметр передается по адресу с помощью указателя, поэтому он является и выходным значением, т.е. его
- 23. Пример 3. Функция вычисления суммы и разности двух int значений (3-й параметр – ссылка): int Fun
- 24. Третий параметр передается по ссылке (копия адреса), поэтому он является и выходным значением, т.е. его измененное
- 25. Передача массивов 1. Найти минимум в одномерном массиве (статич.) Функция может иметь следующий вид int Min1
- 26. 2. Найти минимум в двумерном массиве (динамич.) Функция может иметь следующий вид double Min2 ( int
- 27. Операция typedef Любому типу данных, как стандартному, так и определенному Пользователем, можно задать новое имя с
- 28. Декларации объектов введенных типов будут иметь вид UINT i, j; - две переменные типа unsigned int
- 29. Указатели на функции В языке Си имя функции является константным указателем на начало выделенной для нее
- 30. Как и любой объект языка Си, указатель на функцию необходимо объявить: Тип ( *Имя_Указателя ) (
- 31. Например: int fun1 ( int ); - прототип функции, имеющей int результат и один int параметр;
- 32. Пример double ( *p_f ) ( int, double ); объявление указателя p_f, который можно устанавливать на
- 33. После чего функцию f1 можно вызвать следующими способами: f1 (21, 1.5); – по ее имени; p_f
- 34. Классы памяти и область действия объектов
- 35. При объявлении кроме типа можно использовать необязательный атрибут «Класс памяти», который определяет время и область действия
- 36. Локальные – переменные, объявленные внутри функции (блоке) и описанные в заголовке функции. Глобальные – переменные, описанные
- 37. Переменные, объявленные внутри функций – локальные и никакая другая функция не имеет прямого доступа к ним.
- 38. Объекты, размещаемые в статической памяти, объявляются с атрибутом static. Время их жизни – постоянное. При описании
- 39. Описанная вне функции переменная – глобальна и по умолчанию имеет атрибут extern (внешняя). Если глобальная переменная
- 40. Для внешних и статических переменных гарантируется их обнуление. Автоматические и регистровые переменные име-ют неопределенные начальные значения
- 41. Приведем некоторые примеры. 1. Использование блоков . . . int a = 3; cout { double
- 43. Скачать презентацию