CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): ahsarang (.아.사.랑.)
날 짜 (Date): 2002년 7월 17일 수요일 오전 04시 29분 41초
제 목(Title): Re: 소스파일이 여러개일때 전역변수 선언 




  아래와 같을 때 a는 분명(반드시!) 중복 정의 오류여야할 거 같습니다.
  둘 중 하나가 static int a;로 정의되지 않는다면요.

  여러명의 개발자가 각각 다른의도로 전역변수를 선언했는데
  우연히 변수명이 같다면, 그걸 컴파일러가 자기맘대로
  같은 넘으로 취급해버린다면 어찌될까요???
  이런 컴파일러가 있다면 저는 기꺼이 안쓰겠습니다. :)

  글고 #define어쩌구 넣어서 header file에 정의를 넣으려는 시도는
  하지 않는것이 좋겠습니다. 많은 사람들의 정신건강을 위하여...
  위 minosa님이 잘 설명해주신거 같은데 선언과 정의는 구분하는것이...


>
> 저는, 질문 자체의 상황이, 제가 이해하고 있는 것과
> 달라서 궁금해지는데요.

> preprocessing이 되어서 헤더파일은 다 처리되었다고 치고,

> 이를테면,

> test1.c ============================
> void foobar (void);
> int a;

> int main ()
> {
>  a = 7;
>  foobar ();
> }
> ====================================
> test2.c ============================
> int a;
> void foobar (void)
> {
>  a = 9;
> }
> ====================================
>
> ... 이하 생략...
>






[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.