Простые объявления переменных
Объявление обычной переменной, простейшей формы прямого декларатора, указывает имя и тип переменной. Оно также указывает класс хранения и тип данных переменной.
Классы хранения или типы (или и то, и другое) требуются в объявлениях переменных. Нетипизированные переменные (например, var;) создают предупреждения.
Синтаксис
declarator:
указатель необпрямой-декларатор
прямой-декларатор:
identifierидентификатор:
nondigitidentifier nondigit
identifier digit
В случае арифметического типа, типа структуры, типа объединения, типа void и типов, представляемых именами typedef, простые деклараторы можно использовать в объявлении, поскольку описатель предоставляет всю вводимую информацию. Для типов указателя, массива и функций требуются более сложные деклараторы.
Чтобы указать несколько переменных в одном объявлении, можно использовать список идентификаторов, разделенных запятыми (,). Все переменные, определенные в объявлении, имеют один и тот же базовый тип. Например:
int x, y; /* Declares two simple variables of type int */
int const z = 1; /* Declares a constant value of type int */
Переменные x и y могут содержать любое значение в наборе, определенном типом int для конкретной реализации. Простой объект z инициализируется значением 1 и не может быть изменен.
Если бы объявление z было выполнено для неинициализированной статической переменной или в области видимости файла, было бы получено начальное значение 0, которое было бы неизменяемым.
unsigned long reply, flag; /* Declares two variables
named reply and flag */
В этом примере обе переменные reply и flag имеют тип unsigned long и содержат целочисленные значения без знака.