变量就是有名字的数据
type variable_list;
int a;
extern
您可以使用 extern 关键字在任何地方声明一个变量,虽然您可以在 C++ 程序中多次声明一个变量,但变量只能在某个文件、函数或代码块中被定义一次。
extern int a; 该语句是对a进行声明!
因此 extern int a = 3;该语句错误,声明与定义不同!定义才可以初始化,声明不可以!
除非extern的声明是在函数体之外,则可以对其进行定义,其他情况不可以。
C++ 中的左值(Lvalues)和右值(Rvalues)
左值:指向内存位置的表达式,出现在等号的左边
右值:储存在内存地址中的某些数值,出现在等号的右边
声明与定义的区别
定义包含声明但是反之不成立。
int a = 0; //定义并声明了变量 a
extern int a; //只是声明了有一个变量 a 存在,具体 a 在哪定义的,需要编译器编译的时候去找。