20171129二维数组指针访问

来源:互联网 发布:淘宝贷款官网 编辑:程序博客网 时间:2024/06/06 02:19
#include<stdio.h>#include<stdlib.h>//数组在内存中是线性排列的,改变指针类型就能改变数组的访问方式void main1()//动态建立二维指针{int *p = (int*)malloc(sizeof(int) * 40);//一维数组for (int *px = p,i=0; px < p + 40; px++,i++){*px = i;printf("%d,%p\n", *px, px);//指针循环}printf("\n\n");int(*pp)[8] = (int(*)[8])p;//指针类型决定访问方式for (int i = 0; i < 5; i++){for (int j = 0; j < 8; j++){//printf("%5d", pp[i][j]);//下标的方式printf("%5d", *(*(pp + i)) + j);//指针的方式}printf("\n");}printf("\n\n");//创建一个三维数组来指向他//a[4][2][5]int(*ppp)[2][5] = (int(*)[2][5])p;for (int i = 0; i < 4; i++){for (int j = 0; j < 2; j++){for (int n = 0; n < 5; n++){//printf("%5d", ppp[i][j][n]);printf("%5d", *(*(*(ppp + i)) + j) + n);//指针的方式}printf("\n");}printf("\n\n\n");}getchar();}


原创粉丝点击