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


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

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






Внешнее определение функции





 

 

Определение функции имеет форму

 

определение-функции:

 

спецификаторы-описания описатель-функции

тело-функции

необ

 

Единственными спецификаторами класса памяти, допускаемыми в

качестве спецификаторов-описания, являются EXTERN или

STATIC; о различии между ними смотри п. 19.2. Описатель фун-

кции подобен описателю для "функции, возвращающей...", за

исключением того, что он перечисляет формальные параметры

определяемой функции.

 

Оисатель-функции:

описатель (список-параметров

необ)

список параметров:

идентификатор

идентификатор, список-параметров

 

тело-функции имеет форму

 

тело-функции:

список-описаний составной-оператор

 

Идентификаторы из списка параметров и только они могут

быть описаны в списке описаний. Любой идентификатор, тип ко-

торого не указан, считается имеющим тип INT. Единственным

допустимым здесь спецификатором класса памяти является

REGISTER; если такой класс памяти специфицирован, то в нача-

ле выполнения функции соответствующий фактический параметр

копируется, если это возможно, в регистр.

Вот простой пример полного определения функции:

 

INT MAX(A, B, C)

INT A, B, C;

\(

INT M;

M = (A>B)? A:B;

RETURN((M>C)? M:C);

\)

 

Здесь INT - спецификатор-типа, MAX(A,B,C) - описатель-функ-

ции, INT A,B,C; - список-описаний формальных параметров, \(

... \) - Блок, содержащий текст оператора.

В языке "C" все фактические параметры типа FLOAT преоб-

разуются к типу DOUBLE, так что описания формальных парамет-

ров, объявленных как FLOAT, приспособлены прочесть параметры

типа DOUBLE. Аналогично, поскольку ссылка на массив в любом

контексте (в частности в фактическом параметре) рассматрива-

ется как указатель на первый элемент массива, описания фор-

мальных параметров вила "массив..." приспособлены прочесть

: "указатель на...". И наконец, поскольку структуры,

объединения и функции не могут быть переданы функции, бесс-

мысленно описывать формальный параметр как структуру,

объединение или функцию (указатели на такие объекты, конеч-

но, допускаются).

 







Date: 2015-09-17; view: 376; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию