extern 에 대해서..

moonzoo의 이미지

예를 들어

xxx.h 와
a.c b.c c.c d.c e.c f.c 로 구성되는 프로그램을 작성중인데요.

a.c 에서 global 변수 yyy를 정의했습니다.

이 변수 yyy를 c.c d.c e.c 에서 사용한다고 할경우..

c.c d.c e.c에서 각각 extern을 해주는 것과 ---- 1번.

xxx.h에서 extern 해주는 것과 ---- 2번.

중에 어떤 방법이 바람직할지 의견을 묻고 싶습니다.

for1003의 이미지

모든 모듈에 extern 써버리면 귀찮아집니다.
헤더 파일에 쓰세요.

pynoos의 이미지

extern 이라는 것은 바로 그 파일을 통해 만들어지는 object에 심볼 D,d,B,b 류의 변수를 만들지 말라는 얘기 입니다. 즉, 선언만 하고, 정의가 되지 않는 경우입니다.

선언만 하는 류는 header 혹은 사용하는 c source 위에서 간단히 적어놓을 때 사용됩니다.

그리고 owner ship(?)을 갖는 object에서만 extern이 빠집니다.