1. 区分的由来:为了让多个文件访问相同的变量,C++有了声明和定义。C++变量必须且只能定义一次,使用变量之前必须对定义或者声明。
2. 代码表示
声明时,可以用extern关键字声明而不定义它。
extern int i; //声明i
这里的i并未分配存储空间,只有定义时才会分配。当声明初始化后,就会变成定义了。
extern int i = 1; //定义i
3. 头文件需要用声明
同一个程序中,如果包含两个以上的文件中含有相同的定义,那么会导致多重定义链接错误。
1. 区分的由来:为了让多个文件访问相同的变量,C++有了声明和定义。C++变量必须且只能定义一次,使用变量之前必须对定义或者声明。
2. 代码表示
声明时,可以用extern关键字声明而不定义它。
extern int i; //声明i
这里的i并未分配存储空间,只有定义时才会分配。当声明初始化后,就会变成定义了。
extern int i = 1; //定义i
3. 头文件需要用声明
同一个程序中,如果包含两个以上的文件中含有相同的定义,那么会导致多重定义链接错误。