C/C++ 中数组需要 声明 和 初始化。
声明
声明数组时需要指定元素的 类型 和 数量,例如一维数组的声明如下:
// 元素类型 数组名称[元素数量];
int scores[10];
初始化
可以先声明数组然后初始化(逐个赋值),也可以在声明时初始化(一行代码)。
对于前者,初始化时应确保为每一个元素赋值,否则未赋值元素将是一个伪随机的值(分配给该数组的内存中残留的数据),从而引发意料之外的错误。
int N = 4;
int scores[N];
for (int i = 0; i < N; i++) {
scores[i] = i * 10;
}
对于后者,可使用{}
在声明数组时进行赋值:
int scores[3] = {98, 99, 92};
上面是一个完整的声明+初始化的格式,其中显式声明的数组长度等于赋值序列的长度。
但是很多情况下会采用简写形式,例如
🍇 我的赋值序列长度就是我想声明的数组的实际长度,此时可省略声明中的数组长度
int scores[] = {98, 99, 92};
🍇 我声明了一个指定长度的数组,然后将所有元素初始值置为 0
int scores[3] = {};
🍇 将前两个元素初始值置为 2,其余值初始值置为 0
int scores[10] = {2, 2};
从上述结果我们可以看到,当初始化序列长度小于数组的声明长度时,会将初始化序列按照顺序依次赋值给数组,未赋值的元素的初始化值将被设置为 0。
评论区