이런 종류의 질문에 사과드립니다. 그러나 키워드 extern
이 C\C++
에 매우 궁금합니다.c/C++에서 extern을 사용하는 개념은 무엇입니까?
extern
에 대한 설명을 검색하면서 extern
은 변수 또는 함수가 이미 다른 파일이나 프로그램에 정의되어 있음을 컴파일러에 알립니다.
하지만 그렇다면 extern
을 사용해야하는 이유는 무엇입니까?
다음과 같이 내가 몇 가지 코드를 시도 같이
extern int var;
int main(void)
{
var = 10;
return 0;
}
이 코드는 unresolved external symbol "int var" ([email protected]@3HA)
로 나에게 오류 메시지를주고있다.
와 내가 좋아하는 몇 가지 코드를 사용하고있는 경우 : 그것은 오류를 보여주는 내가 주요 기능에 정의 된대로 같은 값을 제공하지 않습니다
extern int var;
int main(void)
{
int var = 10;
return 0;
}
.
그래서 어떤 사람이 extern
의 동작에 대해 도움이 될 수 있습니까? 나는 이것을 거의 혼란스러워합니다. 유효한 질문이 아닌 경우 용서하시기 바랍니다. 사전 감사합니다. 당신은 또한 글로벌 범위
int var;
을 가지고 다른 C 파일과 연결하여 extern
-declared 변수, 즉의 정의를 제공해야하기 때문에
'extern int var'는 선언이고,'var'에 메모리를 할당하지 않으므로'var = 10'을 사용할 때 프로그램은'var'의 정의를 검색하지만 찾을 수 없습니다. –
@ jalf : 답장을 보내 주셔서 감사합니다. –