Функции
Лучший способ развивать и поддерживать крупные программы заключается в том, чтобы строить большое количество кусков из каждой из которых Легче управлять (метод иногда называют Разделяй и властвуй). Функции позволяют программистам модульного программы.
Функции позволяют сложные программы для стадии на мелкие блоки, каждый из которых легче писать, читать, и поддерживать. Мы уже встречались основные функции и использовали printf из стандартной библиотеки. Мы можем конечно сделать наши собственные функции и файлы заголовков. Функция имеет следующий формат :
return-type function-name ( argument list if necessary )
{
local-declarations;
statements ;
return return-value;
}
Если вернуться типа опущен, по умолчанию используется C int. - Возвращение стоимости должны быть объявлены типа. Все переменные объявлены в функции, называются локальные переменные, в том, что они известны только функции, на которые они были определены.
Некоторые функции список параметров, что обеспечивает связь между методом функции модуля и требует функция. Параметры и локальные переменные, в том смысле, что они не доступны вне определения функции. Программ до сих пор охвачены все основные, которая является функцией.
Функция может просто выполнить задачу без возврата какого-либо значения, и в этом случае он имеет следующую форму :
void function-name ( argument list if necessary )
{
local-declarations ;
statements;
}
Аргументы всегда передаются по значению в C функция звонков. Это означает, что местные копии значений аргументов для бизнеса. Любое изменение, внесенное в аргументы внутри функции производится только для местных копий аргумента.
Для того чтобы изменить или определить аргумент в списке аргументов, этот аргумент должен быть принят в качестве адреса. Вы можете использовать регулярные переменные, если функция не меняет значения этих аргументов. Вы ДОЛЖНЫ использовать стрелки, если функция изменяет значения этих аргументов.
Давайте учиться с примера :
#include <stdio.h>
void exchange ( int *a, int *b )
{
int temp;
temp = *a;
*a = *b;
*b = temp;
printf(" From function exchange: ");
printf("a = %d, b = %d\n", *a, *b);
}
void main()
{
int a, b;
a = 5;
b = 7;
printf("From main: a = %d, b = %d\n", a, b);
exchange(&a, &b);
printf("Back in main: ");
printf("a = %d, b = %d\n", a, b);
}
И результат этой программы будет выглядеть следующим образом :
From main: a = 5, b = 7
From function exchange: a = 7, b = 5
Back in main: a = 7, b = 5 |
|