extern vs static

OpenJR·2024년 4월 2일

보통 다른 헤더에 있는 전역 변수를 불러와 사용하려면 extern 키워드를 사용해 변수를 선언해야하지만, 이 파일에서만 (파일 스코프 내에서) 해당 변수를 사용하고 싶으면 static으로 선언하면 된다.

# main.c
#include <iostream>
using namespace std

int x = 50;

int main {
	cout << get() << endl;
}
# util.c
extern int x;

int get {
	return x;
}

위와 같이 사용하면 main.c에서 정의한 xget()함수가 사용하지만,

# main.c
static int x = 50;

처럼 static 선언을 해주면 xmain.c에서만 사용 가능한 변수가 된다.

profile
Jacob

0개의 댓글