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

免责声明:内容仅供参考。


全栈后端 / C++教程 :
















Copyright © 2022-2024 笨鸟工具 x1y1z1.com All Rights Reserved.