C++基础 -6- 二维数组,数组指针

———————二维数组,数组指针———————

 

🎈二维数组在内存中的存放方式和一维数组完全相同

 

🎈下表把二维数组抽象成了行列形式方便理解

 

🎈a[0]指向第一行首元素地址

 

🎈a指向第一行的首地址

 

🎈所以a地址和a[0]地址相同,因为起点相同

 

🎈a[0]+1往右偏移

 

🎈a+1往下方向偏移

 

简单理解为

 

🎈a+n控制行

 

🎈a[0]+n控制列(相当于*a+n)

 

🎄 数组指针指向二维数组

 

int a[2][2] = {1, 2, 3, 4};
int main()
{
    int(*p)[2] = a;
    cout << p[0][0] << endl;
    p = new int[2][2];
    cout << p[0][0] << endl;

}

  

🎄数组指针指向动态分配的二维数组

 

 

int a[2][2] = {1, 2, 3, 4};
int main()
{
    int(*p)[2] = a;
    cout << p[0][0] << endl;
    p = new int[2][2];
    cout << p[0][0] << endl;

}

———————End———————

 

posted @ 2023-12-14 09:42  日落悬崖  阅读(10)  评论(0)    收藏  举报