Лекции по C++
Информация - Компьютеры, программирование
Другие материалы по предмету Компьютеры, программирование
ванных констант. СтруктураПеременная, которой соответс-
твует композиция отдельных переменных, типы которых могут отличаться.
СовмещениеПеременная, которой соответс-
твует композиция отдельных переменных, занимающих одно и то же пространство памяти. Типы переменных композиции могут отличаться.
МассивПеременная, представляющая на-
бор элементов одного типа.
УказательПеременная, которая указывает
на другую переменную (содержит местоположение другой переменной в форме адреса).
Общий синтаксис об"явлений переменных следующий:
[...],
где задает класс памяти переменной. В некоторых случаях переменные могут быть инициализированы при их определении. Классы памяти и инициализация описаны в разделах 4.6 и 4.7 соответственно.
Объявление простой переменной
Синтаксис:
...];
Об"явление простой переменной определяет имя переменной и ее тип; оно может также определять класс памяти переменной, как это описано в разделе 4.6. Имя переменной- это идентификатор, заданный в об"явлении. Спецификатор типа задает имя определяемого типа данных.
Можно определить имена различных переменных в том же самом об"явлении, задавая список идентификаторов, разделенных запятой. Каждый идентификатор списка именует переменную. Все переменные, заданные в об"явлении, имеют один и тот же тип.
Примеры
int x; /* Example 1 */
unsigned long reply, flag /* Example 2 */ double order; /* Example 3 */
В первом примере об"является простая переменная x. Эта пе-
ременная может принимать любое значение из множества значений, определяемых для типа int.
Во втором примере об"явлены две переменные: reply и flag. Обе переменные имеют тип unsigned long.
В третьем примере об"явлена переменная order, которая имеет тип double. Этой переменной могут быть присвоены величины с плавающей запятой.
Объявление перечисления
Синтаксис: enum[...];
Об"явление перечисления задает имя переменной перечисления и определяет список именованных констант, называемый списком перечисления. Значением каждого имени списка является целое число. Переменная перечисления принимает значение одной из именованных констант списка. Именованные константы списка имеют тип int. Та-
ким образом, память соответствующая переменной перечисления- это память, необходимая для размещения отдельной целой величины.
Объявление перечисления начинается с ключевого слова enum и
имеет две формы представления. В первой форме представления имена перечисления задаются в списке перечисления .
Опция .
Переменную перечисления именует . В об"явлении может быть описана более чем одна переменная перечисления.
Во второй форме используется тег перечисления, который ссы-
лается на тип перечисления. В этой форме об"явления список перечисления не представлен, поскольку тип перечисления определен в другом месте. Если задаваемый тег не ссылается на уже определенный тип перечисления, или если именуемый тегом тип находится вне текущей видимости, то выдается ошибка.
имеет следующий синтаксис:
[=<constant-expression]]...
.
.
.
Каждый идентификатор именует элементы перечисления. По умолчанию первому идентификатору соответствует значение 0, следующий идентификатор ассоциируется со значением 1 и т. д. Имя константы перечисления эквивалентно ее значению.
Запись =+1, если он явно не задается другой величиной.
Перечисление может содержать повторяющиеся значения идентификаторов, но каждый идентификатор должен быть уникальным. Кроме того, он должен быть отличным от всех других идентификаторов перечислений с той же видимостью. Например, двум различным идентификаторам null и zero может быть задано значение 0 в одном и том же перечислении. Идентификаторы должны быть отличны от других идентификаторов с той же самой видимостью, включая имена обычных переменных и идентификаторы других перечислений. Теги перечислений должны быть отличны от тегов перечислений, тегов структур и совмещений с той же самой видимостью.
Примеры:
/**************** Example 1 ***************/
enum day {
saturday,
sunday = 0,
monday,
tuesday,
wednesday,
thursday,
friday
} workday;
/***************** Example 2 ***************/
enum day today = wednesday;
В первом примере определяется тип перечисления, поименованный day и об"является переменная workday этого типа перечисления. С saturday по умолчанию ассоциируется значение 0. Идентификатор sunday явно устанавливается в 0. Оставшиеся идентификаторы по умол?/p>