C언어 Tip

extern과 static의 차이.

우리서로용서해요 2018. 12. 27. 17:14




프로그램은 여러개의 소스파일로 이루어질 수 있다.


예를들어보자


-test1.c-


int HELLO;

int main(){...} 


이런식의 함수가있다고하면



test2.c에서는  extern키워드를 사용하여 test1.c 소스코드에 저장되어있는 전역변수 int HELLO 를 가져와서 쓸 수 있다.


하지만 test1.c의 int HELLO에 int 앞에 static이 붙는다면?


다른 소스코드에서 사용할 수 없다. 오로지 test1.c에서만 사용이 가능하다.