전역 및 정적 변수는 C 또는 C++ 표준에 있고 컴파일 시간에 0으로 값을 할당할 수 있기 때문에 기본값으로 초기화됩니다. 정적 및 전역 변수는 생성된 개체 코드와 동일하게 동작합니다. 이러한 변수는 .bss 파일에 할당되며, 로드 시 변수에 할당된 상수를 가져와서 메모리를 할당합니다.
다음은 전역 및 정적 변수의 예입니다.
예시
#includeint a;static int b;int main() { int x; 정적 정수 y; 정수 z =28; printf("전역 변수 a의 기본값 :%d", a); printf("\n전역 정적 변수 b의 기본값:%d", b); printf("\n로컬 변수 x의 기본값:%d", x); printf("\n로컬 정적 변수 y의 기본값:%d", y); printf("\n지역변수 z의 값 :%d", z); 반환 0;}
출력
전역 변수 a의 기본값 :0전역 정적 변수 b의 기본값 :0로컬 변수 x의 기본값 :0로컬 정적 변수 y의 기본값 :0로컬 변수 z의 값 :28
위 프로그램에서 전역 변수는 main() 함수 외부에서 선언되며 그 중 하나는 정적 변수입니다. 세 개의 지역 변수가 선언되고 변수 z도 초기화됩니다.
int a;정적 정수 b;….int x;정적 정수 y;int z =28;
기본값이 인쇄됩니다.
printf("전역 변수 a의 기본값 :%d", a);printf("\n전역 정적 변수 b의 기본값 :%d", b);printf("\n로컬 변수의 기본값 변수 x :%d", x);printf("\n로컬 정적 변수 y의 기본값 :%d", y);printf("\n로컬 변수 z의 값 :%d", z);사전>