CS Study/C++
[C++] [7] 정적 변수(static) 상수 변수(const)
23학번이수현
2024. 12. 20. 02:47
1. 정적 변수 (static)
- static 키워드는 지역 변수를 정적 변수(static variable)로 변환한다.
- 이러한 정적 변수는 선언된 블록이 끝나더라도 값을 계속 유지한다.
- 다음 예시를 보면 이해하기 쉬울 것이다.
#include <iostream>
void func(){
int a = 0;
static int b = 0;
a++;
b++;
std::cout << a << b << std::endl;
}
int main(){
func();
func();
return 0;
}
===== Output =====
11
12
- 결과를 보면 a는 함수가 돌때마다 0으로 초기화되어 1로 고정되는 한편
- b는 함수가 돌때마다 0으로 초기화되지 않고 기존값을 계승받아 1씩 증가하는 것을 볼 수 있다.
2. 상수 변수(const)
- CS에서 상수란 '변하지 않는 값'을 의미한다. 즉, 원주율이나 ln2와 같은 항상 값이 변하지 않는 것을 선언할 때 유용하다.
- 다음과 같이 선언이 가능하다.
const int pi = 3.14;
- 이러한 상수는 한번 선언하고 다른 값으로 초기화 하려하면 오류를 발생시킨다.
const int pi = 3.14;
pi = 3; //error!!!!!