1.3. Описание скалярных переменных. Директива #define

Переменные описываются и инициализируются в виде:

тип имя [ = выражение ] , имя [ = выражение] , ... ;

Например:

int a,b='\020',c=-11; long d=-1L; double e,f=.003,g=1.2E40;

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

Простейшая форма директивы препроцессора #define используется для оп­ределения символических констант:

#define имя строка замещения

Строка замещения, вообще говоря, есть любая последовательность символов. Препроцессор до начала компиляции замещает каждое вхождение имени кон­станты в тексте программы на строку замещения, но только не внутри "". Строка замещения может быть, например, числовой константой: #define PI 3.141592653589793 , тогда идентификатор PI можно рассматривать как имено­ванную константу в языке PASCAL (хотя это и не тождественные вещи). У поль­зователей языка С существует традиция записывать имена символических кон­стант заглавными буквами, хотя это никак не регламентируется в самом языке.