Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Dop_Prog_функ.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
241 Кб
Скачать
☆

2.3 Функції та масиви

При передаче массива в функцию в качестве параметра указыва­ется имя массива (указатель-константа), т.е. в функцию передается адрес начала массива, и все действия внутри функции производятся именно с элементами массива оригинала. При этом список формаль­ных параметров в заголовке функции имеет две формы:

Int func1(int arr[]) {...}

или int func2(int *mass) {...}

В обоих случаях в функции создается копия указателя соответст­вующего типа, который действует внутри функции как обычный ука­затель-переменная и может изменять свое значение. Например, arr++.

Доступ к элементам массива внутри функции может выполнятся как с помощью индексов (arr[1], arr[i]), так и применяя опера­цию разыменования указателя ( *(arr+1), *(arr+i)).

Для работы со всеми элементами массива необходимо знать количество элементов в массиве. Есть два способа определения конца массива: 1) в качестве одного из параметров в функцию передается размер массива; 2) последний элемент массива задается каким-либо уникальным значением, которое анализируют в функции.

Пример 2.4

#include <stdio.h>

int sum(int N,int x[])

{int summa=0;

for(int i=0;i<N;i++)

summa+= x[i];

return summa;}

void main()

{int a[5]={1,3,5,10,2},c[3]={2,1,6},res1,res2;

res1=sum(5,a); res2=sum(3,c);

printf("сумма эл-ов массива a=%d\n",res1);

printf("сумма эл-ов массива c=%d\n",res2); }

Пример 2.5

#include <stdio.h>

int len(char *);

void main()

{char *name="TERMINATOR";

printf("Длина 1-ой строки=%d",len(name));

char *str="Высшая математика";

printf("Длина 2-ой строки=%d",len(str)); }

int len(char *c)

{int i=0;

while(c[i++]);

return i-1; }

2.4 Функции с параметрами по умолчанию

Это функции, которые имеют спецификацию формальных параметров со значениями по умолчанию. При вызове такой функции умалчиваемый параметр может быть опущен. В функциях с умалчиваемыми значениями параметров действует правило: если параметр имеет умалчиваемое значение, то все параметры справа от него должны быть так же с умалчиваемыми значениями

Пример 2.6

#include <stdio.h>

int def(int a=10, int b=3, int c=4)

{return a*b+c;}

int main()

{int am=2, bm=5, cm=6,res1,res2,res3,res4;

res1=def();

res2=def(am);

res3=def(am, bm);

res4=def(am, bm, cm);

printf(“res1=%d res2=%d ”, res1,res2);

printf(“res3=%d res4=%d\n”, res3,res4);

return 0; }

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]