основыкнигиwin/dos*nixготовоелирикагостиФОРУМПОИСК
Б.В. Керниган, Д.М. Ричи -- Язык C

2.4. Описания

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

 INT LOWER, UPPER, STEP;
 CHAR C, LINE[1000];

      Переменные можно распределять по описаниям любым образом; приведенные выше списки можно с тем же успехом записать в виде

 INT LOWER;
 INT UPPER;
 INT STEP;
 CHAR C;
 CHAR LINE[1000];

      Такая форма занимает больше места, но она удобна для добавления комментария к каждому описанию и для последующих модификаций.
      Переменным могут быть присвоены начальные значения внутри их описания, хотя здесь имеются некоторые ограничения. Если за именем переменной следуют знак равенства и константа, то эта константа служит в качестве инициализатора, как, например, в

 CHAR BACKSLASH = '\\';
 INT I = 0;
 FLOAT EPS = 1.0E-5;

      Если рассматриваемая переменная является внешней или статической, то инициализация проводится только один раз, согласно концепции до начала выполнения программы. Инициализируемым явно автоматическим переменным начальные значения присваиваются при каждом обращении к функции, в которой они описаны. Автоматические переменные, не инициализируемые явно, имеют неопределенные значения, (т.е. мусор). Внешние и статические переменные по умолчанию инициализируются нулем, но, тем не менее, их явная инициализация является признаком хорошего стиля.
      Мы продолжим обсуждение вопросов инициализации, когда будем описывать новые типы данных.

ПРЕДЫДУЩАЯ ЧАСТЬ
2.3.3. Строчная константа
СОДЕРЖАНИЕ СЛЕДУЮЩАЯ ЧАСТЬ
2.5. Арифметические операции