English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C 언어에서 전역 변수와 정적 변수는 모두 상수 값을 사용하여 초기화해야 합니다. 이는 이러한 변수의 값을 실행 시작 전에 알아야 한다는 이유입니다. 전역 변수와 정적 변수에 상수 값을 제공하지 않으면 오류가 발생합니다.
전역과 정적 변수 초기화를 보여주는 프로그램 예제는 다음과 같습니다.
#include <stdio.h> int a = 5; static int b = 10; int main() { printf("global 변수 a의 값: %d", a); printf("\nglobal static 변수 b의 값: %d", b); return 0; }
출력 결과
위 프로그램의 출력은 다음과 같습니다.
global 변수 a의 값: 5 global static 변수 b의 값: 10
이제 위 프로그램을 이해해 보겠습니다.
전역 변수 a의 값은5따라서 정적 변수 b의 값은10따라서 이 프로그램은 요구 사항에 맞게 작동할 수 있습니다.
전역 변수와 정적 변수를 상수로 초기화하지 않으면 오류가 발생합니다. 이를 보여주는 프로그램 예제는 다음과 같습니다.
#include <stdio.h> int func() { return 25; } int main() { static int a = func(); printf("%d ", a); }
위 프로그램은 오류 "초기화 요소가 일관되지 않습니다"을 유발합니다. 따라서 전역 변수와 정적 변수는 상수로 초기화해야 합니다.