手册
目录
要获取数组的大小,您可以使用 sizeof() 运算符:
int myNumbers[5] = {10, 20, 30, 40, 50};
cout << sizeof(myNumbers);
结果:
20运行实例 »
点击 "运行实例" 按钮查看在线实例
为什么当数组包含 5 个元素时,结果显示为 20 而不是 5?
这是因为 sizeof() 运算符返回的是类型的字节大小。
从数据类型章节中您了解到,int 类型通常是 4 个字节,所以在上面的示例中,4 x 5(4 个字节 x 5 个元素)= 20 个字节。
要找出数组包含多少个元素,您必须将数组的大小除以它所包含的数据类型的大小:
int myNumbers[5] = {10, 20, 30, 40, 50};
int getArrayLength = sizeof(myNumbers) / sizeof(int);
cout << getArrayLength;
结果:
5运行实例 »
点击 "运行实例" 按钮查看在线实例
在数组和循环章节中,我们在循环条件中写了数组的大小(i < 5)。这并不理想,因为它只适用于指定大小的数组。
然而,通过使用上例中的 sizeof() 方法,我们现在可以创建适用于任何大小的数组的循环,这更具可持续性。
而不是这样写:
int myNumbers[5] = {10, 20, 30, 40, 50};
for (int i = 0; i < 5; i++) {
cout << myNumbers[i] << "\n";
}
最好这样写:
int myNumbers[5] = {10, 20, 30, 40, 50};
for (int i = 0; i < sizeof(myNumbers) / sizeof(int); i++) {
cout << myNumbers[i] << "\n";
}
运行实例 »点击 "运行实例" 按钮查看在线实例
请注意,在 C++11(2011 年)版本中,您还可以使用 "for-each" 循环:
int myNumbers[5] = {10, 20, 30, 40, 50};
for (int i : myNumbers) {
cout << i << "\n";
}
运行实例 »点击 "运行实例" 按钮查看在线实例
提示:了解遍历数组的不同方式是有好处的,因为您可能会在不同的程序中遇到它们。
相关
视频
RELATED VIDEOS
科技资讯
1
2
3
4
5
6
7
8
9
精选课程
共5课时
17.2万人学习
共49课时
77万人学习
共29课时
61.7万人学习
共25课时
39.3万人学习
共43课时
70.9万人学习
共25课时
61.6万人学习
共22课时
23万人学习
共28课时
33.9万人学习
共89课时
125万人学习