<header.h>
<main.c>Code:#ifndef HEADER_H #define HEADER_H extern int x; #endif
<func.c>Code:#include "header.h" int main() { int x = 5; printf("x=%d\n", x); func(x); printf("x=%d\n", x); return 0; }
% gcc main.c func.cCode:#include "header.h" void func(int y) { y=9; x = 5; }
Undefined first referenced
symbol in file
x /var/tmp//ccQGVCcI.o
ld: fatal: Symbol referencing errors. No output written to a.out
Why? func.c #includes header.h which declares x! Thanks.