二维数组经过两次偏移找到某一元素,使用的是数组指针,数组指针是一级指针
#include<stdlib.h>
#include<stdio.h>
void print(int b[][4],int row){
int i,j;
for(i=0;i<row;i++){
for(j=0;j<sizeof(*b)/sizeof(int);j++){
printf("%2d",b[i][j]);
}
}
printf("\n");
}
int main(){
int a[3][4]={1,3,5,7,5,6};
int (*p)[4];
p=a;
print(p,3);
system ("pause");
return 0;
}
注:
sizeof(*p)=16
sizeof(p)=4
然后解引用就得到相应的元素的值
二维数组的偏移: