二维数组是什么
二维数组是一个数组,数组的元素是数组
type arr[N] = { arr[M] };
上图等价于type arr[N][M] N行M列数组,N和M都为整形常量
二维数组的存储方法
如图是一个两行两列的二维数组,比如int a[2][2],在内存中是如何存储的采用的是蛇形的方法
二维数组的使用
1 #include<stdio.h> 2 int main(void) 3 { 4 int *ptr; 5 // int (*ptr)[2]; 6 int torf[2][2] = {12,14,16}; 7 // int torf[2][2] = {{12},{14,16}}; 8 ptr = torf[0]; 9 printf("*ptr = %10d, *(ptr+1) = %10d, *(ptr+2) = %10d\n",*ptr, *(ptr+1),*(ptr+2)); 10 printf("ptr = %10p, (ptr+1) = %10p, (ptr+2) = %10p\n",ptr, (ptr+1),(ptr+2)); 11 printf("torf = %10p, (torf+1) = %10p, (torf+2) = %10p, &torf[0] = %10p, &torf[1] = %10p, &torf[2] = %10p\n",torf, (torf+1),(torf+2), \ 12 &torf[0], &torf[1], &torf[2]); 13 printf("&torf[0][0] = %10p, &torf[0][1] = %10p, &torf[1][0] = %10p, &torf[1][1] = %10p, &torf[2][0] = %10p\n",&torf[0][0], &torf[0][1], \ 14 &torf[1][0], &torf[1][1],&torf[2][0]); 15 printf("torf[0][0] = %10d, torf[0][1] = %10d, torf[1][0] = %10d, torf[1][1] = %10d, torf[2][0] = %10d\n",torf[0][0], torf[0][1],\ 16 torf[1][0], torf[1][1],torf[2][0]); 17 18 return 0; 19 }
如何用指针表示二维数组
指针指向一维数组的首地址——》表示一维数组,int arr[2] ; int *p_one = arr;
标签:torf,int,10d,C语言,二维,奥妙,数组,10p,ptr From: https://www.cnblogs.com/lzqd/p/17997762