C++中的多位数组,严格来说是数组的数组。
int ia[3][4]; //大小为3的数组,每个元素是含有4个整数的数组 // 大小为10的数组,每个元素都是大小为20的数组, // 这些数组的元素是含有30个整数的数组 int arr[10][20][30] = {0}; // 将所有元素初始化为 0
初始化多维数组
int ia1[3][4] = { {0,1,2,3}, {4,5,6,7}, {8,9,10,11} }; // 以下语句等价于上面的初始化 int ia2[3][4] = {0,1,2,3,4,5,6,7,8,9,10,11};
多维数组的下标引用
// 用多重循环来遍历多维数组 for(size_t i = 0; i != 3; ++i) { for(size_t j = 0; j != 4; ++j) { cout <<"row is " << i << ",col is " << j << ",value is:"<< ia1[i][j] << endl; } } // 使用范围for语句进行遍历 for(auto &row : ia1) { for(auto &col:row) { cout <<"value is:"<< ia1[i][j] << endl; } }
指针和多维数组
对于多维数组中二级元素的声明需要格外注意,当然我们可以通过auto来代替这种声明,或者使用typedef来进行一次声明多次使用。
int ia[3][4]; // 大小为3的数组,每个元素是含有4个整数的数组 int (*p)[4] = ia; // p指向含有4个整数的数组(数组的指针) // int *p[4]; // 整型指针的数组(指针的数组) p = &ia[2]; //p指向ia的尾元素
本节内容的全部代码
#include <iostream> using std::cout; using std::endl; int main() { int ia[3][4]; //大小为3的数组,每个元素是含有4个整数的数组 // 大小为10的数组,每个元素都是大小为20的数组, // 这些数组的元素是含有30个整数的数组 int arr[10][20][30] = {0}; // 将所有元素初始化为 0 int ia1[3][4] = { {0,1,2,3}, {4,5,6,7}, {8,9,10,11} }; // 以下语句等价于上面的初始化 int ia2[3][4] = {0,1,2,3,4,5,6,7,8,9,10,11}; // 用多重循环来遍历多维数组 for(size_t i = 0; i != 3; ++i) { for(size_t j = 0; j != 4; ++j) { cout <<"row is " << i << ",col is " << j << ",value is:"<< ia1[i][j] << endl; } } // 使用范围for语句进行遍历 通过auto类型来简化代码 for(auto &row : ia1) { for(auto &col:row) { cout <<"value is:"<< col << endl; } } int ia3[3][4]; // 大小为3的数组,每个元素是含有4个整数的数组 int (*p)[4] = ia3; // p指向含有4个整数的数组(数组的指针) // int *p[4]; // 整型指针的数组(指针的数组) p = &ia3[2]; //p指向ia的尾元素 }
原文地址:https://www.cnblogs.com/ChattyKu/p/9470524.html
时间: 2024-10-14 05:15:58