Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика экзамен.doc
Скачиваний:
2
Добавлен:
24.09.2019
Размер:
108.54 Кб
Скачать

12.Функции: передача в функцию массивов, аргументы по умолчанию, рекурсивные функции, примеры.

Передача в функцию массивов.

Если в качестве аргумента выступает массив, то передаваемым значением является адрес первого элемента массива, т. е. это передача параметров по адресу таким образом при выходе из функций измененные в ней элементы массива останутся измененными.

Протатип функции с одномерным массивом в качестве параметра может иметь вид:

Void f (float a[]);

Void f (float []);

Void f (float a[10]);

При вызове функции в скобках указывается лишь имя массива.

Двумерный массив

Void f (float a[5][5]);

Void f (float a[][]);

Аргумены по умолчанию.

Обычно при вызове функции в неё передается конкретное значение каждого параметра , однако аргумент на функции можно передать по умолчанию и оно будет использоваться в случае если функции будет пропущен этот параметр.

Аргументы по умолчанию можно задавать только в конце списка аргументов.

Int f(int, int=0, char=2);

Int f(int=0, int=0, char);// ошибка

Int f(int=0, int, char);//ошибка

Аргументы по умолчанию неможет быть повторен или изменён в последующих

Объявлениях в той же области видемости

Void f(int x=7);

Void f(int x=7); // ошибка

Void f(int x=8); // ошибка

Основные правила рекурсии:

До рекурсивного вызова должна стоять проверка на возврат из рекурсии.

Если в предыдущем примере убрать оператор if(n==0) return 1;

То функция fact будет вызывать себя до тех пор пока стэк не перепониться.(будет ошибка)