C
指针-二维数组认知
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(){
int a[3][4] = {{11,22,33,44}
,{55,66,77,88}
,{99,1,2,3}
,{4,5,6,7}};
printf("a是父地址:%p,偏移1后是:%p\n",a,a + 1);
printf("a[0]是子地址:%p,偏移1后是:%p\n",a[0],a[0] + 1);
printf("a[0]是子地址:%p,偏移1后是:%p\n",*(a + 0),*(a + 0) + 1);
}
注意:
1、数组名:数组地址
2、a[0]:二维数组里第0个子数组——>第0个子数组的地址
3、用*(a + 0)可表示a[0];
4、二维数组偏移一位:偏移一整个子数组;
5、子数组偏移一位:偏移一个字符的大小;