初始化
对象在创建时获取特定的值,叫做对象被初始化了。
初始化和赋值时两个完全不同的操作。
初始化时创建变量时赋予一个初始值,赋值是把对象当前值擦除,以新值代替。
列表初始化
int a=0;
int a={0};
int a(0);
int a{0};
用花括号初始化,如果初始值存在丢失信息的风险,编译器将报错。
默认初始化
函数体之外的变量被初始化为0,定义在函数体内部的内置类型变量将不被初始化。
赋值
用=赋值。
声明
使用别处定义的名字必须包含对哪个名字的声明。
声明规定了变量类型和名字。
声明而不定义变量,在变量名前加关键字extern,不显式初始化变量:
extern int i;
任何包含显式初始化的声明就成为定义。给extern关键字标记的变量赋初值,就抵消了extern的作用。extern语句包含初值就不是声明就是定义了。
定义
创建与名字关联的实体。
定义申请存储空间。
变量只能定义一次,但可以被多次声明。