English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
정적 변수는 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; }
출력 결과
위 프로그램의 출력은 다음과 같습니다.
num의 값: 1 num의 값: 2 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; }