分享

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

 行者花雕 2021-04-28

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

指针数组

  • 数组的元素是指针型

例 利用指针数组存放矩阵

 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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多