C. Тема 1. Раздел 11
.pdfМожно не указывать
Тогда по умолчанию принимается, что тип результата 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