Студопедия

Главная страница Случайная лекция


Мы поможем в написании ваших работ!

Порталы:

БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика



Мы поможем в написании ваших работ!




Объявление функции

Функция может быть определена и использована только после ее объявления. Объявление – это определение прототипа (описания) функции, содержащего сведения о типе возвращаемого значения и о типах всех ее аргументов. Наличие такого прототипа позволяет компилятору проверять тип и количество аргументов при вызове функции. Объявление функции в Си имеет вид:

 

тип_функции имя_функции (формальные_аргументы);

 

Тип_функции – это тип возвращаемого значения (int, char, float, и.т.п.). Если тип возвращаемого значения не указан, то данная функция возвращает тип int. Тип void используется в том случае, если функция не возвращает значения.

Имя_функции – это любой корректный идентификатор Си.

Формальные_параметры – либо отсутствуют, либо void, либо список аргументов. Если список аргументов содержит единственное слово void, то эта функция не имеет аргументов. В подобном случае в C++ также можно объявлять функции без списка аргументов, но пустые круглые скобки после имени функции (как в ЯВУ Паскаль) опускать нельзя:

 

my_func ( ); // прототип функции без аргументов

 

Обычно функция в Си принимает фиксированное число аргументов. Но возможна и передача переменного количества аргументов (например, printf из <stdio.h>). При описании и определении таких функций, имеющих неопределенное число аргументов, список формальных аргументов заканчивается многоточием. Формат прототипа функции с переменным списком аргументов имеет вид:

тип_функции имя_функции (формальные_аргументы, …);

 

Здесь тип_функции – это тип возвращаемого функцией значения; имя_функции – это имя функции; формальные_аргументы – список аргументов, количество и типы которых фиксированы и известны в момент компиляции. Многоточие указывает на наличие дополнительных аргументов.

Рассмотрим примеры прототипов функций:

 

int f ( ); /* Функция возвращает значение типа int без аргументов в Си++ */

 

int f ( ); /* Функция возвращает значение типа int без проверки аргументов в Си */

 

int f (void); /* Функция возвращает значение типа int без аргументов */

 

int f (int, long); /* Функция возвращает значение типа int и принимает int и long */

 

char far* s(char *s, int k); /* Функция возвращает указатель far на char и принимает указатель на char и int */

 

int printf (char *format,…); /* Функция возвращает значение типа int и принимает указатель на char как обязательный аргумент, а так же на любое количество дополнительных аргументов неизвестного типа */

 

int (*fp) (int); /* Указатель на функцию, возвращающую значение типа int и принимающую int */

 

 


<== предыдущая страница | следующая страница ==>
Теоретические положения | Рекурсивные функции

Дата добавления: 2015-07-26; просмотров: 178; Нарушение авторских прав




Мы поможем в написании ваших работ!
lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.002 сек.