|
||||
|
2.4.7 Перечисления Есть другой метод определения целых констант, который иногда более удобен, чем применение const. Например: enum (* ASM, AUTO, BREAK *); перечисление определяет три целых константы, называемых перечислителями, и присваивает им значения. Поскольку значения перечислителей по умолчанию присваиваются начиная с 0 в порядке возрастания, это эквивалентно записи: const ASM = 0; const AUTO = 1; const BREAK = 2; Перечисление может быть именованным. Например: enum keyword (* ASM, AUTO, BREAK *); Имя перечисления становится синонимом int, а не новым типом. Описание переменной keyword, а не просто int, может дать как программисту, так и компилятору подсказку о том, что использование преднамеренное. Например: keyword key; switch (key) (* case ASM: // что-то делает break; case BREAK: // что-то делает break; *) побуждает компилятор выдать предупреждение, поскольку только два значения keyword из трех используются. Можно также задавать значения перечислителей явно. Например: enum int16 (* sign=0100000, // знак most_significant=040000, // самый значимый least_significant=1 // наименее значимый *); Такие значения не обязательно должны быть различными, возрастающими или положительными. |
|
||