CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): lomen (이동렬)
날 짜 (Date): 2003년 10월 14일 화요일 오전 10시 08분 32초
제 목(Title): [질문] enum 타입의 실제 타입은?


enumeration 타입을 사용하면서 실제 컴파일 시에 형 변환은 어떻게 되는지요?

저는 단순히 int 로 변환되고, CPU에 정의된 int byte 수만큼 메모리를 
할당받는 줄 알았는데요...

누군가는 enumeration 변수의 정의된 상수값 범위에 따라 short, char, int로 
달라진다는군요...

typedef enum {

A = 0x10,

B = 0xFFFFFFFF } test;

이렇게 해서 

test a; 

라고 변수를 선언하면 a 가 실제로는 4byte를 할당되고...

typedef enum {

C = 0x10,
D = 0xFF } test2;

test2 b;

라고 변수를 선언하면 b 가 1byte 할당된다고 그러던데...

어느 것이 맞는지요?

컴파일러에 따라 다르다 이런 답은... -_-;;

[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.