一句话理解
初始化是给数组一开始的值。
为什么要学
未赋值的格子是垃圾值,累加、比大小都会错。
讲解
int a[5] = {1, 2, 3}; 前三个有值,其余补 0。
int a[5] = {}; 全部变成 0。全局数组默认本来就是 0。
局部数组不会自动清零,要用循环或 {}。
例子
int a[5] = {1, 2};
cout << a[0] << a[1] << a[2];
输出:
120
给出 1、2,后面补 0,所以第三格是 0。
常见错误
- 局部数组不初始化就求 max。
- 以为
{0}只把第一个置 0、其余仍是垃圾——实际上其余也会补 0。