• 本站会放置Google广告用于维持域名以及网站服务器费用。

  • 感谢大家访问本站,希望本站的内容可以帮助到大家!

  • 工资「喂饱肚子」,副业「养活灵魂」!

  • 如果觉得本站的内容有帮助,可以考虑打赏博主哦!

  • 计算机图形学与计算几何经典必备书单整理,下载链接可参考:https://www.stubbornhuang.com/1256/

  • 在本站开通年度VIP,无限制下载本站资源和阅读本站文章

  • 欢迎大家交换友链,可在https://www.stubbornhuang.com/申请友情链接进行友链交换申请!

  • 问题反馈可发送邮件到stubbornhuang@qq.com

  • 本站由于前段时间遭受到大量临时和国外邮箱注册,所以对可注册的邮箱类型进行了限制!

C++ – 数组初始化

C++ 发布于2022-10-14 阅读 2,826次 0次评论 0次点赞 本文共1163个字,阅读需要3分钟。

1 C++数组声明

C++中的数组是一种数据格式,可以存储多个同类型的值。

通常声明数组的通用格式如下:

typeName arrayName[arraySize]

其中typeName为数据类型,arrayName为数组名称,arraySize为数组大小。

比如:

float persons[10]

表示一个数据类型为float,数组大小为10,数组名为persons的数组。

2 C++数组初始化规则

在C++中初始化数组需遵循一些规则。

1. 只有在定义数组时才能初始化数组,且不能将一个数组赋值给另一个数组

什么是只能在定义数组时才能初始化数组呢?比如

int persons[4]; // 默认
int persons[4] = {1,2,3,4}; // 初始化列表

如果换一种形式,

int persons[4];
persons = {1,2,3,4}

这种是不允许的。

同样的,将一个数组赋值给另一个数组这种方式也是不允许的,比如

int persons[4] = {1,2,3,4};
int persons_copy[4];
persons_copy = persons;

2 初始化数组时,提供的初始化的值可以少于或者等于数组的大小

比如

int persons[4] = {1,2};

这种情况下只会对persons数组前两个元素进行初始化,剩余元素默认初始化为0。

如果提供的初始化的值可以大于数组的大小,这种也是不允许的,比如

int persons[4] = { 1,2,3,4,5 };

3 C++数组初始化方法

3.1 逐一元素赋值

#include <iostream>

int main()
{
    int persons[4];

    persons[0] = 1;
    persons[1] = 2;
    persons[2] = 3;
    persons[3] = 4;

    return 0;
}

这种方法也是最笨的方法。

3.2 初始化列表

#include <iostream>

int main()
{
    int persons[4] = {1,2,3,4};

    return 0;
}

当然在C++中我们也可以省略=号,比如

#include <iostream>

int main()
{
    int persons[4] {1,2,3,4};

    return 0;
}

我们可以不在{}中填入值,这时候数组的值初始化为0,比如

#include <iostream>

int main()
{
    int persons[4] {};

    return 0;
}

我们也可以不显式指定数组大小,由初始化列表的值的个数进行推断,比如

#include <iostream>

int main()
{
    int persons[] = {1,2,3,4};

    return 0;
}

3.3 使用memset初始化数组为同一值

比如将数组全部初始化为0

#include <iostream>

int main()
{
    int persons[4];
    memset(persons, 0, 4);

    return 0;
}

欢迎扫码关注我的微信公众号,及时获取文章更新

微信公众号二维码

本文作者:StubbornHuang

版权声明:本文为站长原创文章,如果转载请注明原文链接!

原文标题:C++ – 数组初始化

原文链接:https://www.stubbornhuang.com/2387/

发布于:2022年10月14日 16:02:45

修改于:2023年06月21日 17:58:00

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

文章末尾
上一篇
FFmpeg - 录制HLS直播流为mp4文件
FFmpeg
下一篇
Duilib - 为列表控件UIList添加列表子项右键点击消息响应功能
Duilib
当前分类随机文章推荐

发表评论

您必须 [ 登录 ] 才能发表留言!

关注我们的公众号

微信公众号