侧边栏壁纸
  • 累计撰写 218 篇文章
  • 累计创建 59 个标签
  • 累计收到 5 条评论

C++:数组的声明和初始化

barwe
2022-07-12 / 0 评论 / 0 点赞 / 1,144 阅读 / 564 字
温馨提示:
本文最后更新于 2023-06-07,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

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。

0

评论区