Содержание
- 2. В отличие от языка Pascal в Си нет разделения на подпрограммы-процедуры и подпрограммы-функции, здесь вся программа
- 3. Декларация функции Как любой объект программы на языке Си, пользовательские функции необходимо декла-рировать. Хорошим стилем программирования
- 4. Декларация прототипа функции сообщает компилятору о том, что далее будет приведен ее полный текст, т.е. реализация
- 5. В Списке перечисляются типы параметров, а имена переменных можно не указывать, т.к. компилятор их не обрабатывает.
- 6. Определение функции – это ее полный текст, включающий заголовок (первая строка) и код, общий вид которого
- 7. Тип возвращаемого результата определяет тип Выражения, значение которого возвращается в точку ее вызова при помощи оператора
- 8. Если функция не возвращает значения, указывается тип void. При досрочном выходе из функции типа void используется
- 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, int ); – Прототип
- 20. Реализация функции Sum: int Sum ( int x, int y ) { return x + y;
- 21. Пример 2. Функция вычисления суммы и разности двух int значений: int Fun ( int, int, int*);
- 22. Реализация объявленной функции Fun: int Fun ( int x, int y, int *r ) { *r
- 23. Операция typedef Любому типу данных, как стандартному, так и определенному Пользователем, можно задать новое имя с
- 24. Декларации объектов введенных типов будут иметь вид UINT i, j; - две переменные типа unsigned int
- 25. Указатели на функции В языке Си имя функции является константным указателем на начало выделенной для нее
- 26. Как и любой объект языка Си, указатель на функцию необходимо объявить: Тип ( *Имя_Указателя ) (
- 27. Например: int fun1 ( int ); - прототип функции, имеющей int результат и один int параметр;
- 28. Пример double ( *p_f ) ( int, double ); объявление указателя p_f, который можно устанавливать на
- 29. После чего функцию f1 можно вызвать следующими способами: f1 (21, 1.5); – по ее имени; p_f
- 30. Классы памяти и область действия объектов
- 31. При объявлении кроме типа можно использовать необязательный атрибут «Класс памяти», который определяет время и область действия
- 32. Локальные – переменные, объявленные внутри функции (блоке) и описанные в заголовке функции. Глобальные – переменные, описанные
- 33. Итак, переменные, объявленные внутри функций, являются внутренними (локальными) и никакая другая функция не имеет прямого доступа
- 34. Регистровая память (register) используется только для объектов int и char. Атрибут register рекомендует размещать объекты в
- 35. Объекты, размещаемые в статической памяти, объявляются с атрибутом static и могут иметь различные области действия. В
- 36. Описанная вне функции переменная – глобальна и по умолчанию имеет атрибут extern (внешняя). Напомним, что время
- 37. Для внешних и статических переменных гарантируется их обнуление. Автоматические и регистровые переменные име-ют неопределенные начальные значения
- 38. Приведем некоторые примеры. 1. Использование блоков . . . int a = 3; cout { double
- 40. Скачать презентацию