网站大量收购闲置独家精品文档,联系QQ:2885784924

9.指针(数组、结构体、函数和链表).pptVIP

9.指针(数组、结构体、函数和链表).ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共83页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

*2.函数指针--指向函数的指针函数指针变量定义的一般形式:数据类型(*指针变量名)(形参)例如:int(*p)(intx);函数名代表一个函数的入口地址,可以定义指向函数的指针变量(简称函数指针变量),指向函数的入口地址。p先与*结合,表明p是一个指针,再与后面的()结合,表明指针指向函数,最后与前面的int结合,表明指向的函数返回值类型是int(注意:不是整型指针)。(1)在给函数指针变量赋值时,只需给出函数名而不必给参数;(2)用函数指针调用函数时,只需用*p(或p)代替函数名即可.说明:*floatadd(floatx,floaty){returnx+y;}floatsub(floatx,floaty){returnx-y;}voidmain(){float(*p)(float,float);/*定义了一个函数指针*/floata=3,b=2;p=add;/*p指向了函数add()*/printf(add(a,b)=%.1f,%.1f\n,(*p)(a,b),p(a,b));p=sub;/*p指向了函数sub()*/printf(“sub(a,b)=%.1f,%.1f\n,(*p)(a,b),p(a,b));}例指向函数的指针程序举例运行结果:add(a,b)=5.0,5.0sub(a,b)=1.0,1.0要求函数指针的原型与指向的函数原型相同(即函数返回值类型、形参个数和类型相同)*9.5指针与结构体1.指向结构体的指针变量2.用指向结构体的指针作函数参数分为两个部分:*1.指向结构体的指针变量必须先定义结构体类型,然后定义指向该结构体类型数据的指针变量。引用这种指针变量前,必须将已经存在的结构体变量的地址赋给它。例如:structst{longnum;charname[11];charsex;floatscore;}structsts0,*p=s0;p表示结构体变量s0的地址*p表示p指向的结构体变量s0访问结构体成员s0.num与(*p).num等价(*p).num与p-num等价-指向结构体成员运算符最高优先级,自左向右结合性*structstudent{longnum;charname[20];charsex;floatscore;};main(){structstudents1,*p;p=s1;s1.num=8901;strcpy(s1.name,”LiLin”);s1.sex=‘M’;s1.score=89.5;printf(“No:%ld\nname:%s\nsex:%c\nscore:%.1f\n”, s1.num,s1.name,s1.sex,s1.score);printf(“No:%ld\nname:%s\nsex:%c\nscore:%.1f\n”,(*p).num,(*p).name,p-sex,p-score);}No:8901name:LiLinsex:Mscore:89.5No:8901name:LiLinsex:Mscore:89.5s1.nums1.sexs1.scores1.nameps1ps18901LiLinM89.5*p-n++引用p指向的结构体变量中成员n,然后使n增1。(p++)-n引用p指向的结构体变量中成员n,然后使p增1。++p-n使p指向的结构体变量中成员n先增1(不是p增1),再取n的值。(++p)-n使p的值增1,再引用p指向的结构体变量中成员n的值。以下三种形式等价:s0.成员名(*p).成员名p-成员名指向成员运算符(-)具有最高优先级,左结合性*2.用指向结构体的指针作函数参数

文档评论(0)

AI智博信息 + 关注
实名认证
文档贡献者

Python数据挖掘

1亿VIP精品文档

相关文档