A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 靳小龙 中级黑马   /  2015-9-5 21:11  /  501 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

指针数组中每个元素的值都为指针。一般的定义形式为:数据类型 *数组名[数组长度];用 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列的值。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马