做网站的前景,二次元wordpress博客,怎么做网站加盟,龙岩百度推广获取数组的大小
要获取数组的大小#xff0c;可以使用 sizeof() 运算符#xff1a;
示例
int myNumbers[5] {10, 20, 30, 40, 50};
cout sizeof(myNumbers);结果#xff1a;
20为什么结果显示为 20 而不是 5#xff0c;当数组包含 5 个元素时#xff1f;
这…获取数组的大小
要获取数组的大小可以使用 sizeof() 运算符
示例
int myNumbers[5] {10, 20, 30, 40, 50};
cout sizeof(myNumbers);结果
20为什么结果显示为 20 而不是 5当数组包含 5 个元素时
这是因为 sizeof() 运算符返回类型的大小以字节为单位。
要找出数组有多少个元素必须将数组的大小除以它包含的数据类型的大小
示例
int myNumbers[5] {10, 20, 30, 40, 50};
int getArrayLength sizeof(myNumbers) / sizeof(int);
cout getArrayLength;结果
5使用 sizeof() 循环遍历数组
然而通过使用上面示例中的 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 版本 112011中还可以使用“for-each”循环
示例
int myNumbers[5] {10, 20, 30, 40, 50};
for (int i : myNumbers) {cout i \n;
}了解不同的数组循环方式是很重要的因为你可能在不同的程序中都会遇到它们。
多维数组
多维数组是数组的数组。
要声明一个多维数组请定义变量类型指定数组名称后跟方括号指定主数组有多少元素然后再跟另一组方括号表示子数组有多少元素
string letters[2][4];与普通数组一样你可以使用数组文字 - 在花括号内部的逗号分隔列表。在多维数组中数组文字中的每个元素都是另一个数组文字。
string letters[2][4] {{ A, B, C, D },{ E, F, G, H }
};数组声明中的每组方括号都会向数组添加另一个维度。像上面的数组被称为具有两个维度的数组。
数组可以具有任意数量的维度。数组的维度越多代码就越复杂。以下数组具有三个维度
string letters[2][2][2] {{{ A, B },{ C, D }},{{ E, F },{ G, H }}
};访问多维数组的元素
要访问多维数组的元素请在数组的每个维度中指定索引号。
此语句访问 letters 数组中第一行0和第三列2的元素的值。
string letters[2][4] {{ A, B, C, D },{ E, F, G, H }
};cout letters[0][2]; // 输出 C记住数组索引从 0 开始[0] 是第一个元素。[1] 是第二个元素依此类推。
更改多维数组中的元素
要更改元素的值请引用每个维度中元素的索引号
string letters[2][4] {{ A, B, C, D },{ E, F, G, H }
};
letters[0][0] Z;cout letters[0][0]; // 现在输出 Z 而不是 A循环遍历多维数组
要循环遍历多维数组你需要为数组的每个维度使用一个循环。
以下示例输出 letters 数组中的所有元素
string letters[2][4] {{ A, B, C, D },{ E, F, G, H }
};for (int i 0; i 2; i) {for (int j 0; j 4; j) {cout letters[i][j] \n;}
}此示例显示如何循环遍历三维数组
string letters[2][2][2] {{{ A, B },{ C, D }},{{ E, F },{ G, H }}
};for (int i 0; i 2; i) {for (int j 0; j 2; j) {for (int k 0; k 2; k) {cout letters[i][j][k] \n;}}
}为什么使用多维数组
多维数组非常适合表示网格。此示例展示了它们的实际用途。在以下示例中我们使用多维数组表示一个小型的战舰游戏
// 我们放置 “1” 来表示那里有一艘船。
bool ships[4][4] {{ 0, 1, 1, 0 },{ 0, 0, 0, 0 },{ 0, 0, 1, 0 },{ 0, 0, 1, 0 }
};// 通过这些变
量跟踪玩家击中了多少船以及玩家已经玩了多少轮
int hits 0;
int numberOfTurns 0;// 允许玩家继续进行直到他们击中了所有四艘船
while (hits 4) {int row, column;cout 选择坐标\n;// 要求玩家输入一行cout 选择 0 到 3 之间的行号;cin row;// 要求玩家输入一列cout 选择 0 到 3 之间的列号;cin column;// 检查这些坐标是否存在船只if (ships[row][column]) {// 如果玩家击中了一艘船将其删除并将值设置为零。ships[row][column] 0;// 增加击中计数器hits;// 告诉玩家他们击中了一艘船以及剩下多少艘船cout 命中剩下 (4-hits) 艘船。\n\n;} else {// 告诉玩家他们没击中cout 未命中\n\n;}// 计算玩家进行了多少轮numberOfTurns;
}cout 胜利\n;
cout 你在 numberOfTurns 轮内获胜;最后
为了方便其他设备和平台的小伙伴观看往期文章
微信公众号搜索Let us Coding关注后即可获取最新文章推送
看完如果觉得有帮助欢迎点赞、收藏、关注