Почему константы перечисления C нуждаются в имени? - PullRequest
0 голосов
/ 05 декабря 2009

Почему константы перечисления C нуждаются в имени? Потому что это:

#include <stdio.h>

enum {NO, YES};

int main(void)
{
    printf("%d\n", YES);
}

работает так же, как это:

#include <stdio.h>

enum boolean {NO, YES};

int main(void)
{
    printf("%d\n", YES);
}

Ответы [ 4 ]

8 голосов
/ 05 декабря 2009

Так что вы можете создавать переменные типа перечисления:

enum boolean read_file = NO;
6 голосов
/ 05 декабря 2009

Если вы хотите создать тип 'enum', например:

enum boolean x;
x = NO;

Самый простой способ сделать это с помощью typedef:

typedef enum {NO, YES} boolean;

И тогда все, что вам нужно сделать, это использовать логический тип:

boolean x;
x = NO;
2 голосов
/ 05 декабря 2009

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

Дни недели - хороший пример перечислений.

1 голос
/ 05 декабря 2009

Ну, вы можете определить функцию следующим образом:

void here_is_my_answer(boolean v)
{
   if (v == YES) { 
   } else {
   {
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...