Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык C

C перечисления

Перечисления C

В этом руководстве вы узнаете о enum (перечислении) в программировании на C с помощью примеров.

В программировании на C тип перечисления (также называемый enum) – это тип данных, состоящий из целочисленных констант. Чтобы определить перечисления, enum используется ключевое слово.

enum flag {const1, const2, ..., constN};

По умолчанию const1 равен 0, const2 равен 1 и так далее. Вы можете изменить значения по умолчанию элементов перечисления во время объявления (при необходимости).

// Changing default values of enum constants
enum suit {
    club = 0,
    diamonds = 10,
    hearts = 20,
    spades = 3,
};
<час>

Объявление перечисляемого типа

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

enum boolean {false, true};
enum boolean check; // declaring an enum variable

Здесь переменная check типа enum boolean создается.

Вы также можете объявить перечисляемые переменные следующим образом.

enum boolean {false, true} check;

Здесь значение false равно 0 и значение true равно 1.

<час>

Пример:тип перечисления

#include <stdio.h>

enum week {Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday};

int main()
{
    // creating today variable of enum week type
    enum week today;
    today = Wednesday;
    printf("Day %d",today+1);
    return 0;
}

Вывод

Day 4
<час>

Почему используются перечисления?

Переменная перечисления может принимать только одно значение. Вот пример, чтобы продемонстрировать это,

#include <stdio.h>

enum suit {
    club = 0,
    diamonds = 10,
    hearts = 20,
    spades = 3
} card;

int main() 
{
    card = club;
	printf("Size of enum variable = %d bytes", sizeof(card));	
	return 0;
}

Вывод

Size of enum variable = 4 bytes

Здесь мы получаем 4 потому что размер int составляет 4 байта.

Это делает enum хорошим выбором для работы с флагами.

<час>

Как использовать перечисления для флагов?

Возьмем пример,

enum designFlags {
	ITALICS = 1,
	BOLD = 2,
	UNDERLINE = 4
} button;

Предположим, вы разрабатываете кнопку для приложения Windows. Вы можете установить флаги КУРСИВ , ЖИРНЫЙ и ПОДЧЕРКИВАТЬ для работы с текстом.

Есть причина, по которой все интегральные константы являются степенью двойки в приведенном выше псевдокоде.

// In binary

ITALICS = 00000001
BOLD = 00000010
UNDERLINE = 00000100 

Поскольку интегральные константы являются степенью числа 2, вы можете одновременно комбинировать два или более флага без перекрытия, используя побитовое ИЛИ | оператор. Это позволяет выбрать два или более флага одновременно. Например,

#include <stdio.h>

enum designFlags {
	BOLD = 1,
	ITALICS = 2,
	UNDERLINE = 4
};

int main() {
	int myDesign = BOLD | UNDERLINE; 

        //    00000001
        //  | 00000100
        //  ___________
        //    00000101

	printf("%d", myDesign);

	return 0;
}

Вывод

5

Когда вывод равен 5, вы всегда знаете, что используется жирный шрифт и подчеркивание.

Кроме того, вы можете добавить флаги в соответствии с вашими требованиями.

if (myDesign & ITALICS) {
    // code for italics
}

Здесь мы добавили курсив в наш дизайн. Обратите внимание, внутри if написан только код для курсива. заявление.

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


Язык C

  1. C# Hello World — ваша первая программа на C#
  2. Ключевые слова и идентификаторы C#
  3. Переменные C# и (примитивные) типы данных
  4. Операторы С#
  5. Побитовые операторы C# и операторы сдвига битов
  6. Базовый ввод и вывод C#
  7. Выражения, операторы и блоки C# (с примерами)
  8. С# Комментарии
  9. Оператор переключения C#
  10. С# тернарный (?:) оператор