- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第六章指针C语言程序设计重庆大学C程序设计技术第一章C程序设计初步第二章C程序的基本控制结构第三章函数第四章数组和字符串第五章C程序文件处理基础第六章指针第七章结构体和联合体数据类型第八章编译预处理基础第九章枚举类型和位运算第六章指针6.1指针与函数6.1.1返回指针值的函数6.1.2指向函数的指针变量6.2指针与一维数组6.3指针与二维数组6.4指针数组与命令行参数6.5使用指针构建动态数组6.6指针与字符串6.1.1返回指针值的函数1、返回指针值的函数函数返回值:整型、实型、字符型、空类型……;函数返回值:指针型数据(地址)。返回指针值的函数定义格式: [存储类别符]数据类型符*函数名(形式参数表及定义){函数体……} 例如函数定义时首部为float*fun(floatx,floaty)时,有:fun是函数名x,y函数形式参数函数名前的星号*表示函数fun是返回指针值的函数,返回值是指向实型数据的指针值。/*Name:ex06-01.cpp*/#includestdio.hlong*fac(longn);//函数的声明voidmain(){ longn,i,sum=0,*pi; printf(Inputn:); scanf(%ld,n); for(i=1;i=n;i++) { pi=fac(i);//函数的调用 sum=sum+*pi; } printf(SUM=%ld\n,sum);}long*fac(longn)//函数的定义{ staticlongp=1; p*=n; returnp;}例6-1计算累加量,要求使用静态局部变量和返回指针的函数方式进行处理。6.1.1返回指针值的函数#includestdio.hlong*fac(longn);//函数的声明voidmain(){ longn,i,sum=0,*pi; printf(Inputn:); scanf(%ld,n); for(i=1;i=n;i++) { pi=fac(i);//函数的调用 sum=sum+*pi; } printf(SUM=%ld\n,sum);}long*fac(longn)//函数的定义{ longj,p=1;//static for(j=1;j=n;j++)p*=j; returnp;}#includestdio.hvoidmain(){int*fun();intnum,*count;for(num=1234;num=1;num--) if(num%3==0) count=fun();printf(count=%d\n,*count);}int*fun(){inti;//返回自动局部变量的地址,程序有潜在错误//应该改为staticinti;i++;returni;} 例6-2统计[1,1234]中有多少个数能被3整除。6.1.1返回指针值的函数6.1.2指向函数的指针变量1.指向函数指针变量的定义2.指向函数的指针变量实现调用函数3.指向函数的指针变量作为函数参数1.指向函数指针变量的定义函数指针概念:函数入口地址或存储区域首地址,函数名表示。指向函数指针变量概念:存放函数指针(入口地址)的指针变量。指向函数指针变量定义格式:[存储类别符]数据类型名(*指针变量名)(形参表)存储类别符是指针变量本身的存储类型;数据类型是被指针变量指向函数的返回值类型;形参表则是被指针变量指向函数的形式参数表;指针变量的命名规则与普通变量相同例如函数:voidswap(intx,inty);指向这个函数指针变量:void(*fp)(intx,inty);2.指向函数指针变量的赋值和引用用指向函数的指针变量来调用函数的步骤:⑴.定义指向函数的指针变量;⑵.将被调用函数名/函数指针/函数入口地址,赋值给指向函数指针变量。例:函数原型为:voidswap(
您可能关注的文档
- 重庆大学《C语言程序设计》课件-第1章 C程序设计初步.ppt
- 重庆大学《C语言程序设计》课件-第2章 C程序的基本控制结构.ppt
- 重庆大学《C语言程序设计》课件-第8章 编译预处理基础.ppt
- 05SJ807 民用建筑工程设计常见问题分析及图示(建筑专业).docx
- 02J102-2 框架结构填充小型空心砌块墙体建筑构造.docx
- 05SJ918-8 传统特色小城镇住宅(浙江嘉兴、台州地区).docx
- 06J908-6 太阳能热水器选用与安装.docx
- 11J934-1 《中小学校设计规范》图示.docx
- 13J913-1公共厨房建筑设计与构造.docx
- 06J925-2 压型钢板、夹芯板屋面及墙体建筑构造(二).docx
最近下载
- 大学文科《高等数学》(全册教案).pdf VIP
- 神奇的纳米机器人在医学领域.pptx VIP
- 酒店室内装修施工组织计划.doc
- 初级消防设施操作员(监控初级)真题及答案解析一.doc
- 1956-1977象棋爱好者必选中国象棋棋谱.doc VIP
- Haier海尔滚筒全自动洗衣机 XQG60-1281 使用说明书.PDF VIP
- 提高住院患者抗菌药物治疗前病原学送检率专项培训考核试题.pdf VIP
- SAE-ARP4754A民用飞机和系统开发指南翻译文稿.pdf
- 公安院校公安专业本专科招生体检表(2022年西藏报考公安院校公安专业招生).doc VIP
- 车门外板冲压模具三维造型与工艺参数优化设计.doc VIP
文档评论(0)