使用for循环遍历C风格数组可通过索引、sizeof计算长度或C++11范围for循环实现;2. 基本for循环用索引访问元素;3. sizeof可计算本地数组元素个数;4. 范围for循环简化语法并支持引用避免拷贝。

在C++中,使用for循环遍历C风格数组(C-style array)是基础且常见的操作。C风格数组是固定大小的连续内存块,通过数组名和下标访问元素。下面介绍几种常用的for循环遍历方法。
基本for循环遍历
最直接的方式是使用索引从0开始,逐个访问数组元素。
int arr[] = {1, 2, 3, 4, 5};
int size = 5;
for (int i = 0; i < size; ++i) {
std::cout << arr[i] << " ";
}
说明:利用整数索引 i 从0递增到 size - 1,通过 arr[i] 访问每个元素。
使用sizeof计算数组长度
当数组在当前作用域内定义时,可以用 sizeof 运算符自动计算元素个数。
立即学习“C++免费学习笔记(深入)”;
int arr[] = {10, 20, 30, 40, 50};
for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); ++i) {
std::cout << arr[i] << " ";
}
注意:sizeof(arr) 返回整个数组字节数,sizeof(arr[0]) 是单个元素字节数,相除得元素个数。该方法仅适用于本地定义的数组,不适用于作为参数传入的数组。
基于范围的for循环(C++11起)
虽然C风格数组不是容器,但仍可使用C++11引入的范围for循环。
int arr[] = {1, 3, 5, 7, 9};
for (int elem : arr) {
std::cout << elem << " ";
}
也可以使用引用避免拷贝,尤其对大型数据类型更高效:
for (const int& elem : arr) {
std::cout << elem << " ";
}
这种方式简洁安全,推荐在支持C++11及以上标准时使用。
使用指针遍历
for循环也可结合指针实现遍历。
int arr[] = {2, 4, 6, 8};
int* begin = arr;
int* end = arr + 4;
for (int p = begin; p != end; ++p) {
std::cout << p << " ";
}
说明:arr 是数组首地址,arr + 4 指向末尾后一个位置,通过指针移动访问每个元素。
基本上就这些常用方式。选择哪种取决于具体场景和代码风格。对于简单数组,推荐使用范围for循环;若需索引,则用传统for循环配合 sizeof 计算长度。注意不要越界访问。











