首先看现象 头文件中声明常量数组并初始化时,gcc编译失败并提示重定义,具体如下: ttt.h头文件中定义常量GG 在多个文件包含,编译报错如下: 相同情况下,g++编译却成功并成功执行,如下: 头文件声明常量指针时,不管是gcc还是g++都编译失败: extern关键字 网上有提到这种多文件共用的全局变量应该用extern声明,然后在相应的源码文件中初始化一次,其他地方引入该头文件后即可直接使用,如下: 以上从经验中总结,因水平有限,难免有错误之处,欢迎读者指正!