c++指针数组与二维数组的最大区别

  下面随笔是关于指针数组说明及与二维数组的最大区别。

指针数组

  • 数组的元素是指针型

例 利用指针数组存放矩阵

1 #include
 2 using namespace std;
 3 int main() {
 4     int line1[] = { 1, 0, 0 };    //矩阵的第一行
 5     int line2[] = { 0, 1, 0 };    //矩阵的第二行
 6     int line3[] = { 0, 0, 1 };    //矩阵的第三行
 7
 8     //定义整型指针数组并初始化
 9     int *pLine[3] = { line1, line2, line3 };
10     cout << "Matrix test:" << endl;
11   //输出矩阵
12     for (int i = 0; i < 3; i++) {
13       for (int j = 0; j < 3; j++)
14         cout << pLine[i][j] << " ";
15     cout << endl;
16     }
17     return 0;
18 }
19
20
21
22 输出结果为:
23 Matrix test:
24 1,0,0
25 0,1,0
26 0,0,1

指针数组与二维数组对比

  • 对比例中的指针数组和如下二维数组

1 int array2[3][3] ={ { 1,0,0 }, { 0,1,0 }, { 0,0,1 } };

  二者最大区别在于数组行与行之间存储顺序的连续性,指针数组中行与行元素不是依次连续的,而二维数组为联系存放的,具体如图所示:

(0)

相关推荐

  • C |指针数组、二级指针、动态二维数组及三者的相关关系

    C |指针数组.二级指针.动态二维数组及三者的相关关系 小智雅汇2021-02-16 08:21:53 超过一维的n维数组可以转换为n-1维数组指针,只是丧失了第一维的长度信息.声明与n维数组等价的n ...

  • VB中怎样对一个二维数组的行进行操作

    通常,数学上的行列式或者矩阵,用二维数组来存放数据,二维数组的第1维,就是映射矩阵的行,二维数组的第2维,就是映射矩阵的列. 例如: dim d(1 To 3,1 To 4) As Integer 对 ...

  • 数组运算5(一维数组与二维数组的运算)

    之前我们说了一维数组与一维数组的运算,二维数组与二维数组的运算,今天来说一维数组与二维数组的运算. -01- 运算规则 1.行数或列数相同的一维数组与二维数组的运算 如下图所示,是一维区域与二维区域的 ...

  • 数组运算4(二维数组与二维数组的运算)

    接着来说数组的运算,今天是二维数组与二维数组的运算. -01- 运算规则 1.尺寸相同的二维数组的运算. 如下图所示,将2个二维区域进行相加运算,结果输出到黄色区域.可以看到它们的运算规则也是一一对应 ...

  • Excel一维数组转二维数组的方法

    excel使用技巧大全在前面我们已经讲过,读取数组中的数据都是连续的.但有时,一些数据是不连续的.这时我们应该怎么办呢? 例如,许多格式相同的sheet要合并在一起.我们想看每一个sheet的数据.此 ...

  • 如何将二维数组作为函数的参数传递

    今天写程序的时候要用到二维数组作参数传给一个函数,我发现将二维数组作参数进行传递还不是想象得那么简单里,但是最后我也解决了遇到的问题,所以这篇文章主要介绍如何处理二维数组当作参数传递的情况,希望大家不 ...

  • 动态内存分配连续内存空间的二维数组

    可以直接使用一维数组来模拟二维数组,下面的代码就是在此基础上,用一个二级指针指向一维数组的相应地方,详见代码 #include <stdio.h> #include <malloc. ...

  • 假设客车的座位数是9行4列,使用二维数组在控制台应用程序中实现简单的客车售票系统。

    具体要求为: 使用一个二维数组记录客车售票系统中的所有座位号,并在每个座位号上都显示有票,然后用户输入一个坐标位置,按Enter键,即可将该座位号显示为已售. 首先我定义的输入格式为:1,2 个人认为 ...

  • 二维数组

    如果数组元素又是数组,则称为多维数组,常用的是二维数组. 二维数组可以看成由两个一维数组组成,所以很多东西与一维数组类似,如其声明的方法.可进行的运算等等. 1.声明二维数组 数组类型数组名[][]: ...