#include <stdio.h>
#define IDLE 7 //디버깅할 때 7이 안나옴
enum EAnimation //상수를 만드는 개념
{
kIdle = 10, kWalk, kRun, //초기화값에 따라 이후는 ++1씩 출력됨 // 디버깅할 때 초기화값을 읽음.
JUMP = 123, FAIL, Attack, Die //이렇게되면 10, 11, 12, 123, 124, 125, 126이 출력됨.
};
void main()
{
// 열거체, 열거형(Enumeration)
printf("kIdle: %d\n", kIdle); //kIdle: 10
printf("kWalk: %d\n", kWalk); //kWalk: 11
printf("kRun: %d\n", kRun); //kRun: 12
printf("JUMP: %d\n", JUMP); //JUMP: 123
printf("FALL: %d\n", FAIL); //FAIL: 124
printf("Attack: %d\n", Attack); //Attack: 125
printf("Die: %d\n", Die); //Die: 126
//kIdle Size: 4 byte(상수이기 때문에. int 메모리값
printf("kIdle Size: %d byte\n", sizeof(kIdle));
// 열거형 변수
enum EAnimation anim; //anim이라는 열거형 변수
anim = 789; //C, C++에서는 다른 값도 저장 가능
printf("anim: %d\n", anim); //anim: 789
}
- 열거형 상수에 사용하는 enum에 속한 데이터에 값을 저장, 여기서 초기화를 하지 않으면 0부터 시작하여 1씩 증가값을 가집니다.
- 초기화를 했다면 초기화한 데이터의 위치의 다음 데이터에 1씩 증가하는 값을 각 데이터에 초기화합니다. 위는 kIdle = 10, JUMP = 123으로 초기화합니다.
- 위의 코드상 kIdle, kWalk, kRun 는 10, 11, 12의 값을 가지고 JUMP, FAIL, Attack, Die는 123, 124, 125, 126의 값을 가지게 됩니다.
- C, C++언어에서는 상수를 다룰 때 int를 자동 적용하여 4byte 크기를 가지게됩니다. 때문에 kIdle Size는 4byte가 출력됩니다.
끝
'프로그래밍 C언어' 카테고리의 다른 글
스택 (Stack) (0) | 2024.08.21 |
---|---|
다차원배열 (Multi-Dimensional Array) (0) | 2024.08.21 |
공용체 (Union) (0) | 2024.08.20 |
구조체 (Structure) (0) | 2024.08.20 |
비트 단위 연산자 (Bitwise Operators) (0) | 2024.08.18 |