使用指向二维数组元素的指针
#include <stdio.h> int main( ) { int a[3][4]= {1,3,5,7,9,11,13,15,17,19,21,23}; int *p; for(p=a[0]; p<a[0]+12; p++) { printf("%3d ",*p); } return 0; }
使用指向一维数组的指针
#include <stdio.h> int main( ) { int a[3][4]= {1,3,5,7,9,11,13,15,17,19,21,23}; int i,j,(*p)[4]; for(p=a,i=0; i<3; i++,p++) { for(j=0; j<4; j++) printf("%3d ",*(*p+j)); printf("\n"); } return 0; }
使用指向一维数组的指针之二
#include <stdio.h> int main( ) { int a[3][4]= {1,3,5,7,9,11,13,15,17,19,21,23}; int (*p)[4], i, j; p=a[0]; for (i=0; i<3; i++) { for(j=0; j<4; j++) printf("%d\t", *(*(p+i)+j)); printf("\n"); } return 0; }
使用指针数组
#include <stdio.h> int main() { int b[2][3]= {{1,2,3},{2,4,6}}; int *pb[2]; int i,j; pb[0]=b[0]; pb[1]=b[1]; for(i=0; i<2; i++) { for(j=0; j<3; j++,pb[i]++) printf("%2d",*pb[i]); printf("\n"); } return 0; }