프로그래밍 C언어

상수 열거형 (Enumeration)

게임첫걸음 2024. 8. 20. 17:23
#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