Поделиться через


Деклараторы и объявления переменных

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

Тип переменной Описание
Простые переменные Переменные с одним значением со целым типом или типом с плавающей запятой
Массивы Переменные, состоящие из коллекции элементов с тем же типом
указателей Переменные, указывающие на другие переменные и содержащие расположения переменных (в виде адресов) вместо значений
Переменные перечисления Простые переменные с целочисленным типом, которые содержат одно значение из набора именованных целочисленных констант
структуры Переменные, состоящие из коллекции значений, которые могут иметь разные типы
Объединения Переменные, состоящие из нескольких значений разных типов, которые занимают одно и то же место в хранилище

Декларатор является частью объявления, указывающего имя для введения в программу. Он может включать модификаторы, такие как * (указатель на) и любые ключевые слова соглашения о вызовах Майкрософт.

Специфично для Microsoft

В этом деклараторе,

__declspec(thread) char *var;

char — описатель типов и __declspec(thread)* является модификатором и var является именем идентификатора.

Конец раздела, относящегося к Microsoft

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

Синтаксис

declarator:
pointer выбиратьdirect-declarator

direct-declarator:
identifier
( declarator )
direct-declarator [ constant-expression выбирать]
direct-declarator ( parameter-type-list )
direct-declarator ( identifier-list выбирать)

pointer:
* type-qualifier-list выбирать
* type-qualifier-list выбиратьpointer

type-qualifier-list:
type-qualifier
type-qualifier-list type-qualifier

Замечание

См. синтаксис declaration в разделе "Обзор объявлений " или " Сводка по синтаксису языка C " для синтаксиса, который ссылается на нее declarator.

Если декларатор состоит из немодифицированного идентификатора, объявленный элемент имеет базовый тип. Если звездочка (*) отображается слева от идентификатора, тип изменяется на тип указателя. Если за идентификатором следует квадратные скобки ([ ]), тип изменяется на тип массива. Если скобки соответствуют идентификатору, тип изменяется на тип функции. Дополнительные сведения о интерпретации приоритета в объявлениях см. в разделе "Интерпретация более сложных деклараторов".

Каждый декларатор объявляет по крайней мере один идентификатор. Декларатор должен включать описатель типа, чтобы быть полным объявлением. Описатель типа дает: тип элементов типа массива, тип объекта, адресируемый типом указателя, или возвращаемым типом функции.

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

int list[20]; // Declares an array of 20 int values named list
char *cp;     // Declares a pointer to a char value
double func( void ); // Declares a function named func, with no
                     // arguments, that returns a double value
int *aptr[10]; // Declares an array of 10 pointers

Специфично для Microsoft

Компилятор Microsoft C не ограничивает количество деклараторов, которые могут изменять арифметический, структуру или тип объединения. Число ограничено только доступной памятью.

Конец раздела, относящегося к Microsoft

См. также

Объявления и типы