全局变量(函数体外的变量)、静态变量(不管是全局,还是局部的):系统会自动初始化。
整型:0,字符串:"",指针/数组:NULL
局部变量(函数体、复合语句内的变量):要养成初始化的好习惯,编译器会给你胡乱初始化的。
值类型的成员变量(即类的成员):会自动初始化。
附记:
int a = 1; //初始化
a = 2; //赋值
局部变量一离开其作用域,内存就会被释放,该变量就消失了,注意这一点!
数组的初始化:
数组只有在定义时,可以使用 { } 进行整体初始化,在赋值时,只能针对某个元素赋值。
初始化举例:
int a[4] = {1,2,3,4}; //正确初始化
int a[4]; //!元素未被初始化,随机值
int a[4] = {1,2}; //!未初始化的元素自动初始化为0
int a[4] = {}; //非法
整型:0,字符串:"",指针/数组:NULL
局部变量(函数体、复合语句内的变量):要养成初始化的好习惯,编译器会给你胡乱初始化的。
值类型的成员变量(即类的成员):会自动初始化。
附记:
int a = 1; //初始化
a = 2; //赋值
局部变量一离开其作用域,内存就会被释放,该变量就消失了,注意这一点!
数组的初始化:
数组只有在定义时,可以使用 { } 进行整体初始化,在赋值时,只能针对某个元素赋值。
初始化举例:
int a[4] = {1,2,3,4}; //正确初始化
int a[4]; //!元素未被初始化,随机值
int a[4] = {1,2}; //!未初始化的元素自动初始化为0
int a[4] = {}; //非法