The website "dmilvdv.narod.ru." is not registered with uCoz.
If you are absolutely sure your website must be here,
please contact our Support Team.
If you were searching for something on the Internet and ended up here, try again:

About uCoz web-service

Community

Legal information

A.2 Функции

A.2 Функции

Предыдущая  Содержание  Следующая V*D*V

ANSI-C позволяет — но не требует — чтобы декларация функции содержала декларации параметров прямо в списке параметров. Если это сделано, то функция декларируется вместе с типами своих параметров. Имена параметров могут быть указаны как часть декларации функции, но это не имеет никакого отношения к именам параметров, используемых при декларации функции.

 

double sqrt ();                  классическая версия

double sqrt (double);            ANSI-C

double sqrt (double x);          ... с именами параметров

int getpid (void);               без параметров, ANSI-C

 

Если прототип функции ANSI-C был представлен, компилятор ANSI-C попытается преобразовать значения аргументов в типы, задекларированные для параметров.

Определения функций могут использовать оба варианта:

 

double sqrt (double arg)         ANSI-C

{ ... }

 

double sqrt (arg)                классическая версия

  double arg;

{ ... }

 

Есть точные правила взаимодействия между ANSI-C и классическими прототипами и определениями; тем не менее, эти правила являются сложными и подверженными ошибкам. Лучше всего придерживаться только прототипов и определений ANSI-C.

Компилятор GNU-C предупреждает о вызове функций, которые не были продекларированы, с помощью опции -Wall.

 

Предыдущая  Содержание  Следующая