电话:0731-83595998
导航

2011年软件水平考试程序员之程序设计知识点19

来源: 2017-10-20 13:57

  5.3 指针数组和多级指针

  1.指针数组

  当数组元素类型为某种指针类型时,该数组就是指针数组。指针数组的定义形式为

  类型说明符 *数组名[常量表达式] ;

  例如:

  int *p[10] ;

  定义指针数组p的每个元素都是能指向int型数据的指针变量,p有10个元素,它们是p[0] 、p[l]、…、p[9]。和一般的数组定义一样,数组名p也可作为p[0]的地址。

  在指针数组的定义形式中,由于"[ ]"比"*"的优先级高,使数组名先与"[]"结合,形成数组的定义,然后再与数组名之前的"*"结合,表示此数组的元素是指针类型的。注意,在"*"与数组名之外不能加上圆括号,否则变成指向数组的指针变量。

  引人指针数组的主要目的是便于统一管理同类的指针。如利用指针数组能实现对一组独立的变量以数组的形式对它们作统一处理。如有以下定义:

  in a,b,c,d,e,f;

  int *apt[]={&a,&b,&c,&d,&e,&f};

  下面的循环语句能顺序访问独立的变量a、b 、c、d、e、f;

  for( k=0; k< 6;k++)

  printf("%dt",*apt[k]);/*其中*apt[k]可写成**(apt+k)*/

  当指针数组的元素分别指向二维数组各行首元素时,也可用指针数组引用二维数组的元素。以下代码说明指针数组引用二维数组元素的方法。设有以下代码:

  int a[10][20] ,i;

  int *b[10];

  for(1=0;i< 10;i++)/*b[i]指向数组元素a[i][0]*/

  b[i]=&a[i][0] ;

  则表达式a[i][j]与表达式b[i][j]引用同一个元素,即从指针数组方向来看,因b[i]指向元素a[i][0],*(b[i]+j)或 b[i][j]引用元素a[i][j]。

  另外,当指针数组的元素指向不同的一维数组的元素时,也可通过指针数组,如同二维数组那样引用各一维数组的元素。如以下代码所示:

  char w0[ ]="Sunday",w1[ ]="Monday",w2[ ]="Tuesday",

  w3[ ]="Wednesday", w4[ ]="Thursday", w5[ ]="Friday",

  w6[ ]="saturday";

  char *wName[ ]={w0,wl,w2,w3,w4,w5,w6 };

  则语句for(i=0;i

编辑推荐:

下载Word文档

温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)

网络课程 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

精品课程

更多
10781人学习

免费试听更多

相关推荐
图书更多+
  • 电网书籍
  • 财会书籍
  • 其它工学书籍
拼团课程更多+
  • 电气拼团课程
  • 财会拼团课程
  • 其它工学拼团
热门排行

长理培训客户端 资讯,试题,视频一手掌握

去 App Store 免费下载 iOS 客户端