C++中数组声名后不初始化,数组里的值都是0吗?

时间:2024-04-06 15:36:17

这得看数组的申明情况:

1、全局/静态数组
如果申明的是全局/静态数组,系统会把数组的内容自动初始化为0。

2、局部数组
如果申明的是局部数组,数组的内容会是随机的,不一定是0。如函数内声明:
int Func()
{
char szTest[10]; //此时内容是随机的
memset(szTest, 0, sizeof(szTest));
}
3、成员数据
如果申明的是类的成员数组,数组的内容是随机的,不一定是0。一般在类的构造函数内用memset初始化为0。