extern 키워드에 관한건데요.. 책을봐도 명확하게 안나와 있어서요.. 도와주세용
진이
2023.04.01
/* in file file1.c*/
#include stdio.h
int a = 1, b = 2, c = 3;
int f(void);
int f2(void);
int main(void)
{
pirntf(%3d\n, f());
printf(%3d%3d%3d%3d\n, a, b, c);
return 0;
}
extern int a;
intb, c;
a = b = c = 4;
return (a + b + c);
}
/* IN file file2.c*/
int f(void)
{
extern int a;
intb, c;
a = b = c = 4;
return (a + b + c);
}
여기서 file2.c에서 함수 f2()를 정의하고 f()에서 선언한 변수 a의 값을 출력해보고 어떤오류가 발생하는지
이유가 무엇인지 알아내는건데요.
제가 생각하기에는 extern int a 가 f함수 내에 선언되어서 오류가 나는거 같은데
명확하게 모르겟네요.. 도움 부탁드리겟습니다.