Тип данных enum (или перечисление) в языке Си.

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


enum {NONE, CHAR, INT}; // Анонимное перечисление NONE = 0, CHAR = 1, INT = 2
2) Если задать элементу перечисления явное значение (целочисленное), то следующие элементы будут увеличиваться на единицу.

enum {NONE = 2, CHAR, INT}; // NONE = 2, CHAR = 3, INT = 4
printf("%d ", CHAR); // Выведет 3
3) Элементы перечисления могут иметь отрицательные значения.

enum {NONE = -3, CHAR, INT}; // NONE = -3, CHAR = -2, INT = -1
4) Элементы перечисления могут иметь одинаковые целочисленные значения и их значения могут идти не по порядку (при явной инициализации элементов).

enum {NONE = 3, CHAR, INT = 2, FLOAT, DOUBLE}; // NONE = 3, CHAR = 4, INT = 2, FLOAT = 3, DOUBLE = 4
5) Перечисление может иметь имя и тогда можно создавать элементы перечисления.

enum TYPE{NONE = 2, CHAR, INT}; // NONE = 0, CHAR = 1, INT = 2
enum TYPE a = CHAR; // a = 3
6) Можно сразу создать элемент перечисления указав имя (имена) после фигурных скобок.

enum TYPE{NONE = 2, CHAR, INT}type_sample; // NONE = 0, CHAR = 1, INT = 2, type_sample = 0
type_sample = CHAR; // type_sample = 3
printf("%d ", type_sample); // Выведет 3
2023-03-14



Понравилась страница?
Добавить в закладки
Или поделиться!

Связанные темы

bool тип данных в языке Си.
Тип данных char в языке Си.
double тип данных языка Си. Число с плавающей точкой с двойной точностью.
Тип данных enum (или перечисление) в языке Си.
float тип данных языка Си.
int целочисленный тип данных языка Си.
long и long long целочисленные типы данных в языке Си.
short тип данных языка Си.
size_t тип данных языка Си.
struct тип данных языка Си.
union или объединение - тип данных в языке Си.
Ключевое слово языка Си _Bool