Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Типизированной называется функция, которая по окончании своей работы возвращает значение, а нетипизированной (или void -функцией) – функция, которая ничего не возвращает.
Разница в вызове нетипизированной (void) и типизированной функции:
1. Вызов нетипизированной (void) функции выглядит как оператор:
void Func (int A); // объявление функции void main(){ Func (10); // вызов – отдельный оператор программы}2. Вызов типизированной функции является операндом, т.е. частью любого допустимого выражения:
int Func (int A); // объявление функции void main(){ int A, B, C; C = Func (10); // вызов – часть оператора присваивания C = A + B * Func (10); // вызов – часть арифметического выражения if (Func (10) < 100)... // вызов – часть оператора ветвления while (Func (10) > 0)... // вызов – часть оператора цикла}Возврат из нетипизированной функции в вызвавшую ее функцию происходит при выполнении последнего оператора в теле функции или реализуется оператором:
return;Возврат из типизированной функции реализуется оператором:
return выражение;Выражение, указанное после return, неявно преобразуется к типу возвращаемого функцией значения и передается в точку вызова функции. Функция может содержать несколько операторов return. В этом случае они будут являться частью оператора (или операторов) ветвления, поэтому из нескольких операторов return всегда выполняется только один.
Примеры:
int f1(){... return 1; } //правильно void f2(){...return 1; } //неправильно, f2 не должна возвращать значение double f3(){...return 1; } //правильно, 1 преобразуется к типу doubleДата публикования: 2015-07-22; Прочитано: 302 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!