Enum в Си - основные концепции и примеры использования
Enum в языке Си представляет собой перечисление констант, которые имеют целочисленные значения. С помощью enum можно определить новый тип данных, который может принимать только одно из значений перечисления.
Вот пример объявления enum в Си:
c
enum Color {
RED,
GREEN,
BLUE
};
В данном примере создается новый тип данных `Color`, который может принимать одно из трех значений: `RED`, `GREEN` или `BLUE`. По умолчанию, каждому значению перечисления будет присвоено целочисленное значение, начиная с 0 и увеличиваясь на единицу для каждого следующего значения. То есть `RED` будет иметь значение 0, `GREEN` - 1, `BLUE` - 2.
Кроме того, значениям перечисления можно явно задать целочисленные значения. Например:
c
enum Month {
JAN = 1,
FEB = 2,
MAR = 3,
APR = 4,
MAY = 5
};
В данном примере определен новый тип данных `Month`, который представляет месяцы года и имеет свои значения, начиная с 1. Таким образом, `JAN` будет иметь значение 1, `FEB` - 2, и так далее.
Затем можно использовать определенный тип данных enum для создания переменных:
c
enum Color col;
col = GREEN;
В данном примере создается переменная `col` типа `enum Color` и ей присваивается значение `GREEN`.
Также, можно определять функции, которые принимают или возвращают значения перечисления:
c
enum Month getNextMonth(enum Month current) {
return current + 1;
}
В данном примере определена функция `getNextMonth`, которая принимает значение типа `enum Month` и возвращает следующий месяц.
Таким образом, enum в Си позволяет удобно определить свои константы с целочисленными значениями и работать с ними в программе.