Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Однако в Си обращение к функции имеет своеобразную трактовку: обращение к функции - это выражение. В этом выражении круглые скобки играют роль знака операции, для которой функция Я фактические параметры (аргументы) являются операндами. Приоритет операции «скобки» самый высокий поэтому вычисление функции в выражениях производится раньше других операций.
Между формальными и фактическими параметрами при вызове функции должны соблюдаться правила соответствия по последовательности и по типам. Фактический параметр - это выражение того же типа, что и у соответствующего ему формального параметра. Стандарт языка Си допускает автоматическое преобразование значений фактических параметров к типу формальных параметров. В Си++ такое преобразование не предусмотрено. По этому в дальнейшем мы будем строго следовать принципу соответствия типов.
Необходимо усвоить еще один важнейший принцип, действующий в Си/Си++: передача параметров при вызове функции происходит только по значению. Если снова проводить аналогию с Паскалем, то это значит, что в Си допустимы только параметры-значения (без var). Поэтому выполнение функции не может изменить значения переменных, указанных в качестве фактических параметров.
Правило соответствия по количеству, обязательное в Паскале, в Си в некоторых случаях может не соблюдаться. Более того, в Си возможны функции с переменным числом параметров. Примером таких функций являются библиотечные функции printf() и scanf().
Дата публикования: 2014-11-02; Прочитано: 262 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!