C语言程序设计第七单元 指针类型.ppt

  1. 1、本文档共84页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * p pp a a p int a, *p; p=a; 7.2.3 多级指针与指针数组 pp p a *p a p a *pp pp—多级指针 1.多级指针 p 定义二级指针的一般形式: 数据类型 **指针名; 例:int **pp; 在对多级指针进行定义时,指针名前有多少个“*”号,即表示定义的是多少级指针变量。 #include stdio.h void main( ) { int i=5, *p, **pp; p=i; pp=p; printf(“%ld,%d\n”, i , i); printf(“%ld,%ld,%d\n”, p, p, *p); printf(“%ld,%ld,%ld,%d\n”,pp, pp, *pp, **pp); } ? 例7.10 多级指针举例。 FF74H pp FF78H p FF7CH i FF78H FF7CH 5 在使用多级指针时,应注意以下两点: (1)当访问一个指针所指向的变量时,只有一级指针指向的变量才是要处理的数据,而多级指针所指向的变量仍是一个指针。 (2)多级指针的数据类型是它所指向的最终变量的数据类型。 一系列有序指针变量的集合组成了指针数组。指针数组中的每个元素都是指针变量,并且它们具有相同的存储类型和指向相同的数据类型。与普通数组一样,在使用指针数组之前,必须先对其定义。指针数组的定义形式为: 存储类型 数据类型 *指针数组名[元素个数]; 指针数组名就表示该指针数组的存储首地址。 例:① int *p[2]; ② int a, *p, b[10], *p1[3]; 2.指针数组 #include stdio.h void main( ) { int a[5]={1,2,3,4,5}; int *p[5]={a[0],a[1],a[2],a[3],a[4]}; for(int i=0;i5;i++) printf(“%4d”,*p[i]); } ? 例6.11 指针数组举例。 a[0] a[1] a[2] int *p[5]; p[0] p[1] p[2] p[3] p[4] int a[5]; a[0] a[1] a[2] a[3] 4 1 2 3 a[4] 5 a[3] a[4] 运行结果: 1 2 3 4 5 指针数组主要用来指向多个字符串,这样可使字符串的处理更加方便灵活、效率高。 #include stdio.h void main( ) { char a[ ]=computer,b[ ]= hardware; char c[ ]= software, *p[4]; p[0]=a; p[1]=b; p[2]=c; p[3]=NULL; //或p[3]=0; for(int i=0;p[i]!=NULL;i++) printf(“%s\n”,p[i]); } ? 例7.12 利用字符指针数组处理多个字符串。 a[0] b[0] c[0] char *p[4]; p[0] p[1] p[2] p[3] NULL a b c computer hardware software 运行结果为: computer hardware software 在程序中,如果一个数组的长度不定,可以利用在数组末尾设置NULL(空指针)来解决。 字符指针数组在初始化时,也可以把多个字符串的首地址分别直接赋给字符指针数组中的各个元素。 #include stdio.h void main( ) { char *weekname[ ]={Sunday,Monday,Tuesday, Wednesday,Thursday,Friday,Saturday}; int i; while(1) { printf(please input week No.:); scanf(“%d”,i); if(i0||i6) break; printf(week No.%d― ― >%s\n,i,weekname[i]); } } ? 例7.13 用字符串初始化字符指针数组。 weekname[0] weekname[1] weekname[2] 运行结果为: please input week No.:3 week No.3――>Wednesday ple

文档评论(0)

a13355589 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档