공부/C || C++

static 변수와 전역 변수와 비교

sudo 2022. 9. 23. 17:54
  static 변수 전역 변수
메모리 생성 시점 프로그램 시작 프로그램 시작과 동시에 생성 및 초기화
메모리 소멸 시점 프로그램 종료 프로그램 종료
디폴트 초기값 0으로 자동 초기화 0으로 자동 초기화
접근 가능 범위 - 정적 지역 변수 : 중괄호 내부에서만 접근

- 정적 전역 변수 : 선언된 소스 파일 내부에서만 접근 가능
프로그램 전체에서 접근 가능
메모리 할당 공간 초기값이 있을 경우 : Data
초기값이 없을 경우 : BSS
초기값이 있을 경우 : Data
초기값이 없을 경우: BSS 
초기화 횟수 딱 한번만 초기화  
  클래스 멤버의 경우 클래스 내부에서 초기화가 불가능해서 외부에서 해줘야 한다

Ex) ClassA::Statc_변수_이름 = 0;
 

 

static 변수와 전역 변수의 초기화 시점에 관한 내용은 아래 Reference를 참고해보자

 

Reference

https://pabloariasal.github.io/2020/01/02/static-variable-initialization/

 

C++ - Initialization of Static Variables

Today is the last day of the year. I’m wearing my yellow underwear; it’s a new year’s tradition in this part of the world. People say it shall bring wealth, luck and happiness for the upcoming twelve months. Growing up, I used to consider it silly to

pabloariasal.github.io