C++多维数组

二维数组

我们先来看二维数组,所谓二维数组,就是一维数组里面的各个元素分别是一个一维数组。二维数组可以用来表示表或者矩阵。

 

声明二维数组

语法如下:

//声明二维数组
elementType arrayName[ROW_SIZE][COLUMN_SIZE];

//elementType是返回值类型
//arrayName是二维数组名字
//ROW_SIZE和COLUMN_SIZE分别表示行和列的大小

一个二维数组可以分为两部分看。

第一部分:elementType arrayName[ROW_SIZE]

这一部分看以先看成一个一维数组,它的大小为ROW_SIZE,也就是说,里面将要放ROW_SIZE个数组。

第二部分:[COLUMN_SIZE]

这一部分说明了,在一维数组elementType arrayName[ROW_SIZE]中的小数组的大小

 

假如我声明了一个二维数组int array[2][3],在内存中的表示应该是:[[0, 0, 0], [0, 0, 0]],即

0       0       0       0       0       0      

 

用人易理解的表格或者矩阵表示应该为:

0        0        0
0 0 0        

 

为二维数组赋值

二维数组的赋值语法同一维数组一样,确认要赋值元素的位置,然后赋值即可。

 

arrayName[a][b] = value;
//0 <= a <= ROW_SIZE-1
//0 <= b <= COLUMN_SIZE-1

 

初始化的二维数组:

 

int m[4][3] = 
    {{1, 2, 3}, 
     {4, 5, 6}, 
     {7, 8, 9}, 
     {10, 11, 12}
    };

在初始化二维数组时,行号可以省略,但是列号一定不可以省略。

同样要注意的是,数组的第一个下标是0。所以赋值语句array[1][2] = 1;执行后,上述表格会变为:

0        0        0       
0        0        1      

 

操作二维数组

二维数组的操作也同一维数组类似。不过一维数组一般使用一层循环语句

 

for (int i = 0; i < SIZE; i++) {
    //body
}

 

而二维数组一般使用两层嵌套循环语句

for (int i = 0; i < ROW_SIZE; i++) {
    for (int j = 0; j < COLUMN_SIZE; j ++) {
        //body
    }
}

如下面的打印数组元素:

#include <iostream>

using namespace std;

const int COLUMN_SIZE = 5;

int main()
{
//行号可以省略,但是列号一定不能省略
int list[][COLUMN_SIZE] = {{1, 2, 3, 4, 5},{6, 7, 8, 9, 10}}; for (int i = 0; i < 2; i++) { for (int j = 0; j < COLUMN_SIZE; j ++) { cout << list[i][j] << endl; } } return 0; }

运行结果:

C++多维数组

 

 二维数组作为函数参数

同一维数组,但是必须要指明列的大小。

 

多维数组

多维数组就是多层的数组。比如三维数组就是一个一维数组,里面的元素是二维数组。更高维的数组也是同理。

多维数组与二维数组很类似,这里就不过多赘述。

注:不论几维数组,在内存中均是线性排列的。

 

原文链接: https://www.cnblogs.com/bwjblogs/p/12659118.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    C++多维数组

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/340875

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月2日 上午12:48
下一篇 2023年3月2日 上午12:48

相关推荐