黑马程序员技术交流社区

标题: 指针数组 [打印本页]

作者: 靳小龙    时间: 2015-9-5 21:11
标题: 指针数组
指针数组中每个元素的值都为指针。一般的定义形式为:数据类型 *数组名[数组长度];用 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列的值。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2