나 개발자 진짜 되냐?

[ C++ 기본 문법 10 ] 열거문 본문

C++을 시작해봐요!/문법정리를 해보았어요!

[ C++ 기본 문법 10 ] 열거문

Snow Rabbit 2025. 3. 4. 23:54

 

 

열거형은 무엇일까?


정수를 상수로 바꾸고 싶을 때!

우리는 상수화라고 하며 const라고 썼었다.

 

하나의 세트로 관리하고 싶을 때

 

enum이라는 친구가 나온다.

 

C#에서도 쓴다.

 

enum { }; 함수를 사용한다.

 

괄호 안에는 변수명을 써줘야 하는데

보통 대문자로 쓰며, enum타입인걸 알려주기 위해

ENUM_변수명 이라고 써주는 편이다.

 

❗❗ 필수는 아님 ❗❗

 

* 유의사항으로는

1. 변수 옆에다가는 , 따옴표를 꼭 써준다.

2. 마지막변수에는 , 을 써도 되고 안 써도 된다.

 

const를 써주었을 땐 상수를 꼭 입력해주어야 하는데

enum은 초기값을 안 넣어주면 첫 값은 1이다. 그다음 값은 이전값의 +1 값이다.

 

이 패턴에 의해

첫 값을 만약에 8로 지정해 주면, 그다음 값은 9 , 10 , 11 이렇게 된다.

 

enum은 함수 이름을 지어줄 수 있다.

enum 이름어쩌구

라고 지어주면 이 enum은 무슨 역할인지 쉽게 이해할 수 있다.

 

또 다른 열거형인

#define 이 있다.

 

#define DEFINE_변수명 1

 

으로 작성하며

여기서는 = 1, 이 아니라, 그냥 띄우고 1을 써줘야 한다.

 

그래서 #define이 뭔가요?!

 

#

#은 전처리 지시문으로

 

이 전처리는 준비운동인 느낌으로, 우리는 사실 진작부터 쓰고 있었다.

 

맨 위에 우리는 #include <iostream>을 쓰고 있었다.
즉 iostream이라는 파일을 찾아서 해당내용을 복붙 하세요!라는 뜻

 

그렇다면 #define DEFINE_C 2는 뭘까?

이 변수명  DEFINE_C를 보면 2로 바꿔주겠다는 뜻이다!

 

얘는 그래도 숫자만 쓸 필요가 없긴 하다. 뭐 문자도 되고 뭐 문장도 된다.

 

그냥 코드 바꿔치기용으로 사용하게 된다.

 

그래도 우선적으로 쓰는 건 권장사항이 아니다.

전처리로 처리되기 때문에 디버깅을 할 때 사라지는 경우가 있기 때문이다.