Старомодные и современные объявления параметров функций

Содержание

В ранних версиях С использовался синтаксис объявления параметров, отличающийся от того, который используется в современных версиях этого языка, включая С89, С99 и C++. Такой ранний синтаксис иногда называется классическим. В отличие от него, синтаксис, который используется в этой книге, называется современным. В стандартном С поддерживаются оба синтаксиса, но настоятельно рекомендуется современный. (А в C++ поддерживается только современный синтаксис объявления параметров.) Однако старомодный синтаксис надо знать, потому что он до сих пор используется во многих старых программах, написанных на языке С.

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

тип имя_функции(парм1, парм2,...пармN)
тип парм1;
тип парм2;
.
.
.
тип пармN;
{
  код функции
}

Например, такое современное объявление, как

float f(int a, int b, char ch)
{
  /* ... */
}

в старомодном виде будет выглядеть следующим образом:

float f(a, b, ch)
int a, b;
char ch;
{
  /* ... */
}

Обратите внимание, что старомодный синтаксис позволяет в списке, стоящем за именем типа, объявить более одного параметра.



На заметкуСтаромодный синтаксис объявления параметров признан устаревшим для стандартного С и не поддерживается в языке C++.