인프런 커뮤니티 질문&답변

유동근님의 프로필 이미지

작성한 질문수

홍정모의 따라하며 배우는 C++

4.2 전역 변수, 정적 변수, 내부 연결, 외부 연결

34:02초 질문드립니다!

23.11.26 17:08 작성

·

276

2

34:02초 보시면 초기화를 안해줘서 메모리가 할당이 안되었다고 말씀해 주셨는데,

선언만 해주면 메모리는 할당이 되지만, 쓰레기 값이 들어가있는거 아닌가요? 제가 기존에 알고있던 개념과 달라서 헷갈립니다...

답변 1

2

Soobak님의 프로필 이미지

2023. 11. 27. 09:01

안녕하세요, 답변 도우미 Soobak 입니다.

 

extern 키워드는 메모리 할당을 하지 않습니다. 단지, 컴파일러에게 해당 변수가 다른 부분에 정의되어 있음을 알려주는 역할을 합니다.

즉, extern int a; 만 작성하고 다른 곳에서 변수 a 를 정의하지 않으면, 링크 시점에서 오류가 발생합니다.
변수 a 에 대한 메모리 할당이 없으므로, 해당 변수를 사용하려고 하면 링커는 해당 변수의 정의를 찾을 수 없다는 오류를 반환합니다.

유동근님의 프로필 이미지
유동근
질문자

2023. 11. 28. 22:25

오 감사합니다 ㅎㅎㅎㅎ