【发布时间】:2013-06-01 11:24:48
【问题描述】:
我在一个 C 文件中有int a[]。现在在另一个 .c 文件中我有 extern int *a 。
我需要知道如果我尝试访问第二个文件中的变量a 会出现什么行为,为什么?
会出现什么问题?
【问题讨论】:
-
抱歉打错字了。实际上两者的名字都一样 'a'
我在一个 C 文件中有int a[]。现在在另一个 .c 文件中我有 extern int *a 。
我需要知道如果我尝试访问第二个文件中的变量a 会出现什么行为,为什么?
会出现什么问题?
【问题讨论】:
未定义的行为。所以任何事情都可能发生。
【讨论】:
如果两次包含文件(声明)或声明的变量名为a,则可能会出现错误重新定义a;
当我尝试上述编译器时显示错误:
conflicting types for a;
//previous definition in other file...
【讨论】: