在C++中,获取数组大小和操作多维数组是常见的任务。以下是详细的说明。
获取数组大小
一维数组
对于静态分配的一维数组,可以使用 运算符来获取数组的大小。
#include <iostream> int main() { int arr[] = {1, 2, 3, 4, 5}; int size = sizeof(arr) / sizeof(arr[0]); // 计算数组元素的数量 std::cout << "数组大小: " << size << std::endl; return 0; }
返回数组的总字节数, 返回数组中一个元素的字节数,二者相除得到数组的元素个数。
动态数组
对于动态分配的数组,需要手动记录数组大小,因为 澳门六会彩开奖结果网站大全查询下载对动态数组无效。
#include <iostream> int main() { int n = 5; int* arr = new int[n]; // 动态分配数组 // 初始化数组 for(int i = 0; i < n; ++i) { arr[i] = i + 1; } // 输出数组大小 std::cout << "数组大小: " << n << std::endl; delete[] arr; // 释放内存 return 0; }
四不像2025年今期资料值得 多维数组操作
二维数组
声明和初始化二维数组:
#include <iostream> int main() { int arr[3][4] = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12} }; // 遍历二维数组 for(int i = 0; i < 3; ++i) { for(int j = 0; j < 4; ++j) { std::cout << arr[i][j] << " "; } std::cout << std::endl; } return 0; }
动态分配二维数组
使用指针实现动态分配的二维数组:
#include <iostream> int main() { int rows = 3; int cols = 4; // 动态分配行指针数组 int** arr = new int*[rows]; // 动态分配列 for(int i = 0; i < rows; ++i) { arr[i] = new int[cols]; } // 初始化数组 for(int i = 0; i < rows; ++i) { for(int j = 0; j < cols; ++j) { arr[i][j] = i * cols + j + 1; } } // 输出数组 for(int i = 0; i < rows; ++i) { for(int j = 0; j < cols; ++j) { std::cout << arr[i][j] << " "; } std::cout << std::endl; } // 释放内存 for(int i = 0; i < rows; ++i) { delete[] arr[i]; } delete[] arr; return 0; }
这种方式需要手动管理内存,确保在使用完成后正确释放。
总结
通过 运算符可以获取静态数组的大小,对于动态数组需要手动记录大小。多维数组可以通过嵌套循环进行操作,无论是静态分配还是动态分配,记得在使用完动态分配的数组后进行内存释放。
评论列表