Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C에서 전역 및 정적 변수 초기화


C 언어에서 전역 변수와 정적 변수는 모두 상수 값으로 초기화되어야 합니다. 실행이 시작되기 전에 이러한 변수의 값을 알아야 하기 때문입니다. 전역 및 정적 변수에 상수 값을 제공하지 않으면 오류가 발생합니다.

전역 및 정적 변수의 초기화를 보여주는 프로그램은 다음과 같습니다.

예시

#include <stdio.h>
int a = 5;
static int b = 10;
int main() {
   printf("The value of global variable a : %d", a);
   printf("\nThe value of global static variable b : %d", b);
   return 0;
}

출력

위 프로그램의 출력은 다음과 같습니다.

The value of global variable a : 5
The value of global static variable b : 10

이제 위의 프로그램을 이해해보자.

전역 변수 a의 값은 5이고 정적 변수 b의 값은 10입니다. 따라서 이 프로그램은 필요에 따라 작동합니다.

전역 및 정적 변수를 초기화하는 데 상수를 사용하지 않으면 오류가 발생합니다. 이를 보여주는 프로그램은 다음과 같습니다.

#include <stdio.h>
int func() {
   return 25;
}
int main() {
   static int a = func();
   printf("%d ", a);
}

위의 프로그램은 "이니셜라이저 요소가 일정하지 않습니다"라는 오류를 발생시킵니다. 따라서 전역 및 정적 변수는 상수로만 초기화해야 합니다.