extern을 영어사전에서 찾아보면 <소속 기관, 특히 병원 내에 거주하지 않는 근무자>, 외래 의사라고 나와 있다.
C언어 프로그래밍에서는 extern을 이용해 다른 소스에 있는 변수와 함수를 갖다 쓸 수 있다.
extern 자료형 전역변수명;
extern 반환값자료형 함수이름(매개변수자료형)
이런 식으로 사용할 수 있다.
(위의 형식은 변수를 불러올때, 아래의 형식은 함수를 불러올 때)
[main.c]
#include <stdio.h>
int i = 7;
extern void func1();
int main() {
int i = 5;
func1();
i++;
printf("i=%d\n", i);
}
[main1.c]
#include <stdio.h>
extern int i;
void func1();
void func2();
void func1()
{
i++;
printf("extern func1 i=%d\n", i);
func2();
}
void func2()
{
i++;
printf("extern func2 i=%d\n", i);
}
위 예제를 보면, main.c에 있는 i 전역변수(7로 초기화된 변수)를 main1.c에서 사용하고 있다.
또한 main1.c에 있는 func1() 함수를 main.c에서 사용하고 있다.
이 모두가 extern이란 명령을 사용해 가능한 것이다.
main.c에서 main함수 안의 i가 아닌 전역변수 i를 extern으로 불러온다.
반응형