42seoul/circle-1
[ GNL ] 03. 선행지식_정적변수(Static)
saniii
2021. 11. 3. 04:13
# 정적변수 (static)
+ 변수 자료형 앞에 static을 붙여서 선언한다.
+ 중괄호 내부에서 읽힐때 메모리 생성되고 프로그램이 종료되면 메모리 소멸한다.
+ 전역변수처럼 프로그램이 종료되기전까지 메모리가 소멸되지 않으며, 특별히 초기값을 지정하지 않아도 0으로 자동 초기화된다.
+ 상수로만 초기화할 수 있다.
+ 함수가 끝나도 값을 유지할 수 있다.
+ 하지만 다른 함수에서 해당 변수의 값에 접근할 수 없다.
+ stack이 아닌 데이터 부분에 메모리가 할당된다.
# 지역변수
+ 중괄호 내부, 함수의 매개변수에서 사용되는 변수
+ 중괄호 밖, 함수의 외부에서는 무효화된다.
+ 변수의 이름이 같아도 다른 함수에 존재하고 있으면 다른 변수이다.
+ 다른 함수의 지역 변수에 접근할 수 없다.
+ 초가화하지 않으면 쓰레기 값이 저장된다.
+ 스택 영역에 할당
# 전역변수
+ 초기화하지 않아도 0으로 초기화된다.
+ 프로그램 시작시에 메모리가 생성되고 프로그램이 종료되면 메모리가 소멸한다.
+ 모든 함수에서 전역변수의 값에 접근할 수 있다.
+ 데이터 영역에 할당