한번 정해지면 절대 바뀌지 않는 값

1. 상수(Constant)

const int AIR = 0;
const int STUN = 1;
const int POLYMORPH = 2;
const int INVINCIBLE = 3;

// 무적 상태가 됨
flag = (1 << INVINCIBLE)

// 무적 상태에 변이 상태를 추가
flag |= (1 << POLYMORPH)

const로 지정된 값은 해당 열을 수정하지 않으면 다른 값을 넣을 수 없음.

다른 상태 이상을 추가한다고 하면 숫자를 하나씩 증가시키는 것으로 수정 가능.

단, 절대 변경이 불가능한 값이므로 초기값이 없으면 에러가 발생함!

 

2. 메모리 할당 ; main 영역 안에서 변수 선언을 하지 않는 이유?

영역 밖에서 만드는 것을 전역 변수라고 함.

함수를 호출하면 함수 내의 값이 스택에 저장됨.

함수 내에서 변수를 선언하면 스택의 값을 변경하기 때문에 문제가 될 수 있음.

 

참고) 데이터 영역

.data 영역 : 초기값이 있는 경우

.bss 영역 : 초기값이 없는 경우

.rodata 영역 : 읽기 전용 데이터

'기초 C++ 스터디' 카테고리의 다른 글

2-1. 분기문(If)  (0) 2023.05.04
1-8. 데이터에 관한 여러가지 팁  (0) 2023.05.02
1-6. 비트 연산과 비트 플래그  (0) 2023.05.02
1-5. 비교 연산과 논리 연산  (0) 2023.05.02
1-4. 산술 연산  (0) 2023.05.02