main.c
#include <stdio.h>
void main (){
}
extern int h = 2;
int test2(){
h++;
}
#include <stdio.h>
int test(){
printf("%d\n",h);
}
gcc main.c mod1.c mod2.c
mod1.c:1: warning: ‘h’ initialized and declared ‘extern’
mod2.c: In function ‘test’:
mod2.c:4: error: ‘h’ undeclared (first use in this function)
mod2.c:4: error: (Each undeclared identifier is reported only once
mod2.c:4: error: for each function it appears in.)
если сделать module1.h и подключить его в обоих файлах жалуется на повторное декларирование переменной «h»