정적 변수는 static 키워드를 사용하여 선언된 변수입니다. 정적 변수의 공간은 한 번만 할당되며 이는 프로그램 전체에 사용됩니다.
이 변수는 일단 선언되면 프로그램이 실행될 때까지 존재합니다. 따라서 정적 변수의 수명은 프로그램의 수명입니다.
정적 변수를 보여주는 프로그램은 다음과 같습니다.
예시
#include <iostream> using namespace std; void func() { static int num = 1; cout <<"Value of num: "<< num <<"\n"; num++; } int main() { func(); func(); func(); return 0; }
출력
위 프로그램의 출력은 다음과 같습니다.
Value of num: 1 Value of num: 2 Value of num: 3
이제 위의 프로그램을 이해해보자.
함수 func()에서 num은 한 번만 초기화되는 정적 변수입니다. 그런 다음 num의 값이 표시되고 num이 1씩 증가합니다. 이에 대한 코드 조각은 다음과 같습니다 -
void func() { static int num = 1; cout <<"Value of num: "<< num <<"\n"; num++; }
main() 함수에서 func() 함수는 3번 호출됩니다. num 값은 모든 함수 호출이 아닌 한 번만 할당됩니다. 이에 대한 코드 스니펫은 다음과 같습니다.
int main() { func(); func(); func(); return 0; }