C++ 범위, 공간 - 공간 기억 부류(자동, 정적, 동적)

진경천·2023년 9월 15일
0

C++

목록 보기
34/90
  • 자동 변수 : 블럭을 벗어나면 해제가 된다 stack에 할당됨.
  • 정적 변수 : 데이터 영역에 저장되며 프로그램이 실행되는 도중에 한번만 초기화가 되고 프로그램이 종료될 때 해제가 된다
  • 동적 변수 : 이름이 없기 때문에 new로 할당을 해야하며 사용 이후 사용자가 반드시 해제해줘야 한다.
#include <iostream>

using namespace std;

int main() {
	int num;	// 자동 변수
	{
		static int num0 = 0;		// 정적 변수
	}
	for (int i = 0; i < 10; i++) {
		static int num1 = 0;
		num1++;
		cout << num1 << endl;
	}
	// 정적변수가 한번만 초기화 되는것을 나타낸다

	int* p = new int;	// 동적 변수
	delete p;
    
    return 0;
}
  • 코드 실행 결과

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

    for문의 결과를 통해 정적 변수가 한번만 초기화되는 것을 알 수 있다.

profile
어중이떠중이

0개의 댓글

관련 채용 정보

Powered by GraphCDN, the GraphQL CDN