extern int i; //声明i而非定义i
int j; //声明并定义j
任何包含了显示初始化的声明即成为定义。我们能由extern关键字标记的变量赋一个初始值,但是这么做也就抵消了extern的作用。extern语句如果包含初始值就不再是声明,而变成定义了:
extern double pi = 3.1416; //定义
在函数体内部,如果试图初始化一个由extern关键字标记的变量,将引发错误。
Note:变量能且只能被定义一次,但是可以被多次声明
时间: 2024-11-03 22:40:12