北哥,有没有听说过中文版的c99标准?
按c99标准,a.c 中一个全局变量 int a=10;
b.c 中一个全局变量 int a;
c.c 中一个变量 extern int a; (此处的int可以省略,直接写为extern a也可以。)
如果能编译的过,并且能链接通过,那么c.c 中的这个变量是 a.c 中的,还是b.c 中的呢?
查了一下c99标准,这三个文件的变量应该是同一个变量。
我昨天晚上看了john_lee的回复后,先查了下标准,然后把 keil c51,keil mdk for arm,ms vc++, gcc 都测了一下,结果是一样的,这几个编译器都符合标准。 |