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