指针数组中每个元素的值都为指针。一般的定义形式为:数据类型 *数组名[数组长度];用 pa 表示上面的二维数组:int *pa[3] = { a[0], a[1], a[2] };pa是一个指针数组,它有3个元素,每个元素值都是一个指针,指向整型变量。
【示例】指针数组的简单应用。- #include <stdio.h>
- int main(){
- int a[3][4 = {0,1,2,3,4,5,6,7,8,9,10,11};
- int *pa[3]={a[0], a[1], a[2}; //也可以不指定长度,写作 int*pa[]
- int *p=a[0]; //整型指针
- printf("%d, %d, %d\n", a[1][2], *a[1], *(*(a+1)+2));
- printf("%d, %d, %d\n", *pa[1], p[2], *(p+2));
- return 0;
- }
运行结果:
6, 4, 6
4, 2, 2
pa是一个指针数组,三个元素分别指向二维数组a的各行。其中*a[1]表示1行0列元素值;*(*(a+1)+2)表示1行2列的元素值;*pa[1]表示1行0列元素值;由于p与a[0]相同,故p[2]表示0行2列的值;*(p+2)表示0行2列的值。
|
|