<C++Primer>第四版 2.3.5节中这么说到: ①变量定义:用于为变量分配存储空间,还可为变量指定初始值.程序中,变量有且仅有一个定义. ②变量声明:用于向程序表明变量的类型和名字. ③定义也是声明:当定义变量时我们声明了它的类型和名字. ④extern关键字:通过使用extern关键字声明变量名而不定义它. 1.定义也是声明,分配了存储空间:而extern声明不是定义,即不分配存储空间.extern告诉编译器变量在其他地方定义了. 例如:extern int i; //声明,不是定义…