C++多维数组定义和元素访问
C++多维数组
要理解C++的多维数组,首先应该理解什么是数组的维度。简而言之,数组的维度可以理解成为就是数组元素的外边包裹了几层的“{}”符号,如果是两层,那么就是二维的,如果是三层,就是三维的,比如下面这个数组中,对于元素a、b、c、d、e、f等是三维的数组,如果将{a,b}、{c,d}、{e,f}视为单个元素的话,那么就可以称它们为二维数组的元素,以此类推,如果将{{a,b}}视为单个元素,那么该元素就是一维数组的元素。
{ {{a,b}},{{c,d}},{{e,f}} }
C++多维数组定义语法
type arr[size1][size2]...[sizeN]
C++多维数组的索引
结合本章开篇中对数组维度的介绍,C++多维数组的索引化繁为简之后,其实也就是“递归”地进行一维数组的索引,比如,上面abcdef的数组,假设标识符名称为arr,那么,arr[0]将访问的是一维数组(将{{a,b}}视为单个元素而得到的一维数组)中的{{a,b}}元素,arr[0][0]的表达式则可以视arr[0]为一个数组arr1,其值正是{{a,b}},然后arr[0][0]的索引访问就相当于arr1[0],所以访问的元素为{a,b},以此类推,arr[0][0][0]访问的就是{a,b}一维数组中的a元素了。
C++多维数组定义及元素访问实例代码
#include <iostream>
using namespace std;
int main(){
char arr[2][3][3] = {{{'a','b','c'},{'d','e','f'},{'g','h','i'}},{{'j','k','l'},{'m','n','o'},{'p','q','r'}}};
for(int i=0; i<3; i++){
cout << arr[0][0][i] << std::endl;
}
return 0;
}
代码编译运行,得到输出:
a
b
c
免责声明:内容仅供参考。