English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
전역 변수와 정적 변수는 C 또는 C++에서 기본 값으로 초기화됩니다. ++규격에서, 컴파일 시에 자유롭게 0으로 할당할 수 있습니다. 정적 변수와 전역 변수의 동작은 생성된 대상 코드와 동일합니다. 이 변수들은 .bss 파일에 할당되며, 로드될 때 변수에 할당된 상수를 통해 메모리를 할당합니다.
다음은 전역과 정적 변수의 예제입니다.
#include <stdio.h> int a; static int b; int main() { int x; static int y; int z =; 28; printf("The default value of global variable a : %d", a); printf("\nThe default value of global static variable b : %d", b); printf("\nThe default value of local variable x : %d", x); printf("\nThe default value of local static variable y : %d", y); printf("\nThe value of local variable z : %d", z); return 0; }
출력 결과
전역 변수 a의 기본 값: 0 전역 정적 변수 b의 기본 값: 0 지역 변수 x의 기본 값: 0 지역 정적 변수 y의 기본 값: 0 지역 변수 z의 값: 28
위 프로그램에서, 전역 변수는main()
함수 외부에서 선언되었으며, 중 하나가 정적 변수입니다. 세 개의 지역 변수가 선언되었으며, 변수 z도 초기화되었습니다.
int a; static int b; ... int x; static int y; int z =; 28;
기본 값이 출력됩니다.
printf("The default value of global variable a : %d", a); printf("\nThe default value of global static variable b : %d", b); printf("\nThe default value of local variable x : %d", x); printf("\nThe default value of local static variable y : %d", y); printf("\nThe value of local variable z : %d", z);