Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

C. Тема 1. Раздел 11

.pdf
Скачиваний:
17
Добавлен:
21.03.2016
Размер:
1.2 Mб
Скачать

Можно не указывать

Тогда по умолчанию принимается, что тип результата int

Можно указать void

Тогда функция не возвращает результат

Тип результата функции не может являться массивом

Можно возвращать указатель

Если тип результата функции отличен от void, в теле функции должен присутствовать return с возвращаемым значением

some_function()

{

return 1;

}

int* array_function()

{

int* arr =

(int*)calloc( 5, sizeof(int) ); arr[0] = 1;

arr[1] = 2; arr[2] = 3; arr[3] = 4; arr[4] = 5; return arr;

}

Формальный параметр – переменная в вызываемой подпрограмме, значение которой передано из вызывающей программы или подпрограммы

Фактический параметр – конкретное значение, присвоенное формальному параметру вызывающей программой или подпрограммой

Фактический параметр может быть константой, переменной или более сложным выражением

Формальные параметры – это тоже переменные int some_function( int i, double j )

{

int x; j++;

for(x = 0; x < i; x++)

{

printf("%f\n", j);

}

return 0;

}

int error_function( int i,

const double j )

{

//Ошибка компиляции:

//j - константа

j++; return 0;

}

Часть 2

переменная = имя_функции(список фактических параметров);

Присваивание переменной можно пропустить

имя_функции(список фактических параметров);

Даже если параметров нет, скобки указывать обязательно

имя_функции();

some_function()

{

return 1;

}

void main()

{

int i = some_function(); printf(

"some_function() returned: %d\n", i );

}

int function1( int i, double d )

{

printf( "function1 i: %d j: %f %d\n", i, d, d ); return 0;

}

int function2( i, d ) int i;

double d;

{

printf( "function2 i: %d j: %f %d\n", i, d, d ); return 0;

}

void main()

{

function1( 1, 2 ); function2( 1, 2 );

}

function1 i: 1 j: 2.000000 0 function2 i: 1 j: 0.000000 2

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