多维数组,数组指针在二维数组上的应用。
#include<iostream> #include <stdio.h> using namespace std; int main() { int arr[3][5] = { {1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15} }; int(*p)[5] = arr; cout << "*p:" << *p << endl; cout << "*p+1:" << *p + 1 << endl; cout << "*(*p+1):" << *(*p + 1) << endl; cout << "*(p+1):" << *(p + 1) << endl; cout << "*(*(p+1)+1):" << *(*(p + 1)+1) << endl; for (int i = 0; i < 3; i++) { for (int j = 0; j < 5; j++) { cout << *(*(p + i)+j) << endl; } } }
输出:
p是二维数组第一行的地址,*p存储的数组首元素的地址(p与*p的差别可以看上一篇笔记);
*p+1也就是下一个元素的地址,*(*p+1)也就对应2这个元素;
p+i是二维数组第i行的地址,*(p+i)是二维数组第i行元素组成的一维数组的数组名,也是第i行这个一维数组的首元素地址;
*(p+i)+j就是第i行第j列元素的地址。
标签:06,int,元素,二维,C++,地址,数组,多维 From: https://www.cnblogs.com/qhj384343045-/p/18082253