Все переменные должны быть описаны до их использования,хотя некоторые описания делаются неявно, по контексту. Опи-сание состоит из спецификатора типа и следующего за нимсписка переменных, имеющих этот тип, как, например, 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; Если рассматриваемая переменная является внешней илистатической, то инициализация проводится только один раз,согласно концепции до начала выполнения программы. Инициали-зируемым явно автоматическим переменным начальные значенияприсваиваются при каждом обращении к функции, в которой ониописаны. Автоматические переменные, не инициализируемые яв-но, имеют неопределенные значения, (т.е. мусор). Внешние истатические переменные по умолчанию инициализируются нулем,но, тем не менее, их явная инициализация является признакомхорошего стиля. Мы продолжим обсуждение вопросов инициализации, когдабудем описывать новые типы данных.