int *p,a[5],b[3][4];
指针变量给一维数组赋值,可以写成p=a;或则p=&a[0];
二维数组需要写成 p=b[0];
以下为指针与二维数组实例:
#include <stdio.h> main() { int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23}; int (*p)[4]=a; printf("%d\n",*(*(p+2) + 3)); }
输出结果为:
23
===========================
应该注意指针数组和二维数组指针变量的区别。这两者虽然都可用来表示二维数组,但是其表示方法和意义是不同的。
二维数组指针变量是单个的变量,其一般形式中”(*指针变量名)”两边的括号不可少。 Continue reading