LINUX.ORG.RU

История изменений

Исправление hateyoufeel, (текущая версия) :

Стандартом языка. enum имеет тип int.

Уже нет.

C ➤ cat enum.c                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
#include <stdio.h>

enum E : unsigned char { A, B, C };

int main(void) {
  printf("%lu\n", sizeof(A));
  return 0;
}
C ➤ gcc enum.c -o enum && ./enum                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
1

Исходная версия hateyoufeel, :

Стандартом языка. enum имеет тип int.

Уже нет.

C ➤ cat enum.c                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
#include <stdio.h>

enum E : unsigned char { A, B, C };

int main(void) {
  printf("%llu\n", sizeof(A));
  return 0;
}
C ➤ gcc enum.c -o enum && ./enum                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
1