Вы наверняка видели слово enum, если занимались программированием.Как мы все знаем, в языке C есть ключевое слово 32, enum также является одним из них.

Но что это на самом деле?
Так же, как в каждом программировании есть определяемая пользователем функция, точно так же существует определяемая пользователем функция, а также пользовательская функция. -определенный тип данных.

Это означает, что перечисление — это определяемый пользователем тип данных в C, состоящий из набора именованных целочисленных констант. Также известно как Перечисления.

Общая форма:

enum идентификатор_имя {значение1, значение2,…….значение};

Здесь... идентификатор_имя — это определяемый пользователем перечислимый тип данных, который можно использовать для объявления переменной.

enum DaysOfWeek {
    SUNDAY,
    MONDAY,
    TUESDAY,
    WEDNESDAY,
    THURSDAY,
    FRIDAY,
    SATURDAY
};

Здесь названия недель, такие как ВОСКРЕСЕНЬЕ, ПОНЕДЕЛЬНИК…, называются константами перечисления. По умолчанию первой константе (ВОСКРЕСЕНЬЕ) присваивается значение 0, а последующим константам присваиваются значения в порядке возрастания.

Использование перечислений

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

Улучшенная читаемость кода

Перечисления могут сделать ваш код более читабельным, заменяя загадочные целочисленные значения описательными именами. Рассмотрим следующую сигнатуру функции:

void setDay(int day);

Без контекста неясно, какие значения действительны для day. Используя перечисление, вы можете сделать функцию более понятной:

void setDay(enum DaysOfWeek day);

Теперь понятно, что day должен быть одним из дней недели.

Операторы переключения

Перечисления часто используются с операторами switch для создания более понятного и удобного в сопровождении кода. Например:

enum Color {
    RED,
    GREEN,
    BLUE
};
void printColor(enum Color color) {
    switch (color) {
        case RED:
            printf("The color is red.\n");
            break;
        case GREEN:
            printf("The color is green.\n");
            break;
        case BLUE:
            printf("The color is blue.\n");
            break;
        default:
            printf("Unknown color.\n");
    }
}

Перечисление как флаги

Вы также можете использовать перечисления для создания битовых масок для представления комбинаций параметров или состояний. Это особенно полезно при системном программировании и работе с аппаратными регистрами. Вот простой пример:

enum Permissions {
    READ = 1,
    WRITE = 2,
    EXECUTE = 4
};
int main() {
    // Combine permissions using bitwise OR
    enum Permissions myPermissions = READ | WRITE;

// Check for specific permissions using bitwise AND
    if (myPermissions & WRITE) {
        printf("Write permission granted.\n");
    }
    
    return 0;
}

Теги
Что такое перечисление в C?
Что такое перечисление в примере?
Что такое перечисление в type?
Перечисление typedef в c
пример перечисления в c
перечисление в c++
размер перечисления в c
синтаксис перечисления в c
— это перечисление встроенной библиотеки в c
использование перечисления в c
перечисление typedef в примере c

Первоначально опубликовано на сайте https://educationworld511.blogspot.com 28 июля 2022 г.