标签:for 数组指针 add 二维数组与指针 内存 turn argv har style
二维数组:
char a[2][3];
二维数组实质上也就是一维数组,a[2][3]可看做一个2个元素的一维数组,这2个元素又是另一个数组,在内存中,它的排布如下:
#include "stdio.h" int main(int argc, char *argv[]) { char a[2][3]={{1,3,9},{2,4,8}}; for(int i=0; i<2;i++) for(int j=0;j <3;j++) { printf("a[%d][%d]=%d\n", i, j, a[i][j]); } for(int i=0; i<2;i++) for(int j=0;j <3;j++) { printf("a[%d][%d] Addr=0X%X\n", i, j, (int)&a[i][j]); } return 0; }
数组指针:
char a[2][3]={{1,3,9},{2,4,8}}; char (*p)[3]=a; //a为一维数组的数组名,类型为char (*)[3] char *p=a[1]; //a[1]为二维数组的数组名,即{2,4,8}数组的首地址,类型为char * char (*)p[2][3]=&a //&a为整个数组的首地址,类型为char (*)[2][3]
标签:for 数组指针 add 二维数组与指针 内存 turn argv har style
原文地址:https://www.cnblogs.com/hwli/p/10745446.html