Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++ 함수에서 정적 변수의 수명은 얼마입니까?


정적 변수는 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;
}