typedef/enum에 조금 혼란스러워지기 전에는 emun의 이름을 지정할 필요가 없다는 것을 알게되었습니다. typedef와 함께 사용할 때이 두 가지 사이에 차이점이 있습니까? 제 2의 것은 이해하기가 훨씬 쉽습니다.unnamed enum & typedef?
제 1 예 :
typedef enum enumMenuItems {
none,
add,
save,
load,
list,
remove
} menuItems;
menuItems optionSelect = none;
번째 예 :
typedef enum {
Earth = 1,
Mars,
Saturn,
Neptune,
Jupiter
} planets;
planets closest = Mars;
.
는EDIT :
typedef enum enumMenuItems {
none,
add,
save,
load,
list,
remove
} menuItems;
따라서 상기 본질적으로 두 가지 유형, 하나 열거라고 enumMenuItems 및 메뉴 아이템이라고 enumMenuItems 번째 타입 정의를 정의한다.
menuItems optionSelect = save;
enum enumMenuItems optionSelect = save;
위의 두 선언은 기본적으로 typedef를 사용하고 다른 하나는 enum을 사용하여 동일합니다. 따라서 typedef를 사용하는 경우 typedef menuItem을 통해 유형에 액세스 할 수 있으므로 열거 형을 그대로 사용할 수 있습니다.
게리
나는 당신의 편집에 약간 혼란 스럽지만 레이아웃은 스타일/개인 취향의 문제가 아니라? – fuzzygoat
물론, 열거 형의 선언과 사용간에 차별화를 원한다. NBD. –
편집 내용의 주석이 기본적으로 정확합니다. 의미 론적 변명이 있지만 실제로는 중요하지 않다고 생각합니다. –