Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
готовые инфа.docx
Скачиваний:
179
Добавлен:
11.05.2015
Размер:
195.68 Кб
Скачать

54. Функции языка Си.

Функция - это самостоятельная единица программы, созданная для решения конкретной задачи. Функция в языке С играет ту же роль, что и подпрограммы или процедуры в других языках. Функциями удобно пользоваться, например, если необходимо обработать один и тот же код программы. Как и переменные, функции надо объявлять (declare). Функцию необходимо объявить до её использования. Запомните это простое правило - сначала объяви, а потом используй.  Каждая функция языка С имеет имя и список аргументов (формальных параметров). Функции могут возвращать значение. Это значение может быть использовано далее в программе. Так как  функция может вернуть какое-нибудь значение, то обязательно нужно указать тип данных возвращаемого значения. Если тип не указан, то по умолчанию предполагается, что функция возвращает целое значение (типа int). После имени функции принято ставить круглые скобки (это касается вызова функции её объявления и описания). В этих скобках перечисляются параметры функции, если они есть. Если у функции нет параметров, то при объявлении и при описании функции вместо <список параметров> надо поставить void - пусто. Основная форма описания (definition) функции имеет вид: тип <имя функции>(список параметров) {         тело функции }

Функции с параметрами.

Функции языка С могут иметь параметры. Эти параметры передаются в функцию и там обрабатываются.  Ещё раз покажем основную форму описания функции тип <имя функции>(список параметров) {         тело функции } В списке параметров для каждого параметра должен быть указан тип.  Пример правильного списка параметров:         function(int x, char a, float z) Пример неправильного списка параметров:         function(int x, a, float z) Давайте рассмотрим все это на примере. Пусть у нас будет функция у которой присутствует один параметр x. Функция будет возвращать квадрат значения x.

int square(int x) {      x = x * x;          // Символ * это операция умножения      return x; }

Теперь давайте рассмотри пример функции, которая будет выводить значение переменной z типа float на экран.  void myout(float z)       // Переменная z является формальным параметром. {      printf("z=%f", z);      // %f  - означает, что выводится число с плавающей точкой }

Формальные и фактические параметры

Формальные параметры - это параметры которые мы объявляем в заголовке функции при описании.

Фактические параметры - это параметры которые мы подставляем при вызове функции.

void myfunc(int x);         // Объявление функции void main(void) {     int a;     a=5;     myfunc(a);                // a- фактический параметр } // Описание функции void myfunc(int x)          // x - формальный параметр {     x = x + 10;     printf("Вывод x = %d",x); }

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