코딩 공부/C
#11.C_전역변수, 지역변수, 정적변수
코딩연습중
2022. 7. 18. 01:28
전역변수는 블록 밖에 선언된 변수이다. 따라서 전역변수는 어느 함수에서든지 쉽게 사용할 수 있다. 그에 비해 지역변수는 블록 안에 선언된 변수로, 선언된 블록 안에서만 유효하다. 예를 들어, for문 안에 생성된 변수가 있다면 그 변수는 해당되는 for문 안에서만 사용이 가능하다.
#include <stdio.h>
int n1 = 0; // 전역변수
int main(void){
int n2 = 0; // 지역변수
for( int i = 0; i < 1; i++){ // i : 지역변수
int n1++;
int n2++;
printf("%d\n", n1); // 1출력
printf("%d\n", n2); // 1출력
}
return 0;
}
위의 지역변수는 변수가 선언된 블록이 끝나면 메모리에서 사라지게 된다. 정적변수는 블록 안에 선언하는 변수이면서, 프로그램이 종료될 때 메모리에서 사라지는 변수이다. 따라서 정적변수는 선언과 초기화가 딱 한 번만 가능하다. 정적변수는 다음과 같이 선언할 수 있다.
static 자료형 변수명