Функция – это группа операций,
выполняющая законченное действие. Для работы с функцией необходимо
указать прототип функции и дать ее определение.
Вид прототипа: тип имя ([список параметров]);
Void *memcpy (void*, const void*, size_t);
int a (int,int);
Функция возвращает указатель. Можно указывать тип без указания имен.
После определения прототипов нужно дать описание функций:
int abc(int a, int b, int c );
{int d;
d=a+b+c;return d }
Передача параметров внутрь функций может производиться тремя
способами:
a) по значению (наиболее применимый способ);
int abc(int a, int b);
x = abc(5,3);
x = abc(d*с, d/c);
функции передается копия значения переменной, а само значение не
меняется в течение программы.
b) по ссылке;
int cde(int & r);
r=r+1;
в данном случае в функцию передается адрес ячейки, значение которой
мы можем изменить.
c) через указатель- используется для передачи в функцию сложных
объектов: многомерных массивов, строк, структур;
int cde(int*r);
*r=*r+1;
В общем случае рекомендуется передавать входные данные по
константной ссылке: abc(const int & i);
Передача внутрь функции имени функции производится следующим образом:
typedef double(*pfun)(double, double);
Тогда заголовок функции, в которую мы будем передавать имя,
запишется так:
void print_tab(pfun fun, double xn,…..);.