自己网站上做淘宝搜索引擎,宣传信息网网站规划书,ppt模板免费下载网站不用登录,大良网站建设机构//一维数组int arr1[5] { 1,2,3,4,5 };int(*arrP)[5] arr1; //定义数组指针 必须用arr1, arr1是数组首元素的地址#xff1b;arr1是代表数组地址虽然地址都一样但是当加1的时候就有区别了#xff0c;说明还是代表的不同东西for (int i 0; i sizeof… //一维数组int arr1[5] { 1,2,3,4,5 };int(*arrP)[5] arr1; //定义数组指针 必须用arr1, arr1是数组首元素的地址arr1是代表数组地址虽然地址都一样但是当加1的时候就有区别了说明还是代表的不同东西for (int i 0; i sizeof(arr1) / sizeof(arr1[0]); i) //当遍历数组是一个方法时不用写死(得到数组的行列数) {printf(arr1[%d]%d\n, i, (*arrP)[i]);}printf(--------------------------------\n);//二维数组int arr2[3][5] { {1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15} };arrP arr2; //数组指针指向二维数组for (int i 0; i sizeof(arr2) / sizeof(arr2[0]); i)//当遍历数组是一个方法时不用写死(得到数组的行列数){for (int j 0; j sizeof(arr2[0]) / sizeof(arr2[0][0]); j){printf(int[%d][%d]%d\n, i, j, (*(arrP i))[j]);// printf(int[%d][%d]%d\n, i, j, arr2[i][j]);}}printf(--------------------------------\n);//三维维数组int arr3[2][3][4] {{{ 1 ,2 ,3 ,4 },{ 5 ,6 ,7 ,8 },{ 9 ,10 ,11 ,12 }},{{ 13 ,14 ,15 ,16 },{ 17 ,18 ,19 ,20 },{ 21 ,22 ,23 ,24 } }};int(*arrP2)[3][4] arr3;//这个是第一次见到是自己通过数组指针推倒出来的我感觉它叫三维数组指针还是二维数组指针合适呢//int(**arrP3)[4]; //这样写也正确但是不能把arr3地址付给它这个我没从书上见过是自己通过数组指针推倒出来的这是数组二级指针for (int i 0; i sizeof(arr3) / sizeof(arr3[0]); i){for (int j 0; j sizeof(arr3[0]) / sizeof(arr3[0][0]); j){for (int k 0; k sizeof(arr3[0][0]) / sizeof(arr3[0][0][0]); k){//printf(int[%d][%d][%d]%d\n,i,j,k,arr3[i][j][k]);printf(int[%d][%d][%d]%d\n, i, j, k, (*(*(arrP2 i) j))[k]);}}}getchar(); 指针和数组直接对应关系之如何记忆转载于:https://www.cnblogs.com/zakers/p/6933609.html