본문 바로가기
프로그래밍 언어/C

지역 변수, 전역 변수, 정적 변수

by 진진리 2023. 9. 23.
728x90
  • 지역 변수(local variable)

중괄호 내부, 함수의 매개변수에서 사용되는 변수

함수 안에서만 접근 가능하며, 벗어나면 사라짐

초기화하지 않으면 쓰레기값이 저장됨

Stack 영역에 메모리 할당됨

 

  • 전역 변수(global variable)

중괄호 외부에서 선언되는 변수

어느 지역에서든 참조해서 사용 가능

프로그램이 시작될 때 생성 및 초기화되고 끝날 때 사라짐

반드시 상수(변수x)로 초기화해야 하며 초기화하지 않으면 0

Data 영역에 메모리 할당

 

  • 정적 변수(static variable)

static이 붙여서 선언된 변수

전역 변수와 동일하지만 차이점은 초기화가 딱 한 번만 진행됨

함수의 매개 변수로 사용할 수 없음

Data 영역에 메모리 할당

  • 정적 지역변수(static local variable): 중괄호 내부에서만 사용. 한 번의 초기화 이후 함수 호출 시 초기화 무시.
  • 정적 전역변수(static global variable): 자신이 선언된 소스파일에서만 사용 가능

 

'프로그래밍 언어 > C' 카테고리의 다른 글

문자열, 공백 포함 문자열 입력  (0) 2023.09.23
goto문  (0) 2023.09.22
매개변수 전달  (0) 2023.09.22
2차원 배열 동적 할당  (0) 2023.09.21