728x90
반응형
extern
extern 선언을 통해 다른 파일에 선언된 변수나 함수 등을 사용할 수 있다.
이때 파일끼리 같은 프로젝트 내에 있기만 하면 구체적으로 어느 파일에 있는지는 알리지 않아도 된다.
test1.c
#include <stdio.h>
int num = 0;
extern void increase();
extern int getnum();
int main()
{
printf("num : %d\n", getnum());
increase();
printf("num : %d\n", getnum());
increase();
printf("num : %d\n", getnum());
return 0;
}
test2.c
extern int num;
void increase() {
num++; }
int getnum() {
return num; }
extern 선언을 통해 test1.c에서도 test2.c에 사용된 함수를 문제없이 사용할 수 있다.
static 선언을 통한 외부 호출 거부
전역변수에 static 선언을 추가함으로써 외부 파일에서 호출을 거부할 수 있다.
test2.c 에서 함수 앞에 static 선언을 추가해 보겠다.
extern int num;
static void increase() {
num++; }
static int getnum() {
return num; }
호출이 거부된 것을 확인할 수 있다.
728x90
반응형
'C언어 > C언어 문법' 카테고리의 다른 글
[C언어] 열거형 (enum) (0) | 2024.03.10 |
---|---|
[C언어] 헤더파일, #include의 활용 (0) | 2024.02.28 |
[C언어] 파일 입출력, 파일 스트림 생성 (fopen, fclose) (0) | 2024.02.28 |
[C언어] 조건부 컴파일 매크로 (#if, #elif, #endif, #ifdef, #ifndef) (0) | 2024.02.25 |
[C언어] 매크로 (define, 오브젝트 유사 매크로, 매크로 함수) (0) | 2024.02.25 |