- 1、本文档共90页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
#include iostream using namespace std; struct Date { int month,day,year; }; Date birthdays[]={{12,17,37},{10,31,38},{6,24,40}, {11,23,42},{8,5,44}}; const Date getdate(int n) { return birthdays[n-1]; } 6.5.7 const引用 【例6-28】const引用应用举例。 int main() { int dt=99; while(dt!=0) { cout endl”Enter date # (1-5, 0 to quit):”; cin dt; if (dt0 dt6) { const Date bd=getdate(dt); coutbd.month‘/’bd.day‘/’bd.yearendl; } } return 0; } 运行情况如下: Enter date # (1-5, 0 to quit):1 12/17/37 Enter date # (1-5, 0 to quit):2 10/31/38 Enter date # (1-5, 0 to quit):3 6/24/40 Enter date # (1-5, 0 to quit):4 11/23/42 Enter date # (1-5, 0 to quit):5 8/5/44 Enter date # (1-5, 0 to quit):0 * * * * * 6.3.2 用函数指针调用函数 函数指针的定义形式: 数据类型 (* 函数指针变量名)(); 其中“*函数指针变量名”必须用圆括号括起来。在定义中“(*函数指针变量名)”右侧的括号“( )”表示指针变量所指向的目标是一个函数,不能省略;“数据类型”用于定义指针变量所指向的函数的类型。 * */82 1. 函数指针的定义和赋值 6.3.2 用函数指针调用函数 说明: 通过改变指针变量的内容,一个指针变量可以先后指向同类型的不同函数,实现对不同函数的调用。 和数据指针一样,程序中不能使用指向不定的函数指针。 在给函数指针赋值时,只须给出函数名而不必给出参数 * */82 1. 函数指针的定义和赋值 6.3.2 用函数指针调用函数 用函数指针变量调用函数的一般形式为: (* 函数指针变量名)(实参表); 其中“*函数指针变量名”必须用圆括号括起来,表示间接调用指针变量所指向的函数;右侧括号中为传递到被调用函数的实参。 * */82 2. 函数指针的使用 例如,若有函数int f1(int x,int y) 和int f2(char ch),则: int (*fs)( ); fs=f1; /* fs指向函数f1( ) */ x=(*fs)(a,b); /* 相当于x=f1(a,b); */ fs=f2; /* 改变fs内容,使fs指向函数f2( ) */ y=(*fs)(str); /* 相当于y=f2(str); */ 6.3.2 用函数指针调用函数 运用函数指针变量调用函数时应注意的问题: 函数指针变量中应存有被调函数的首地址; 调用时“*函数指针变量名”必须用圆括号括起来,表示对函数指针做间接存取运算。它的作用等价于用函数名调用函数,此外实参表也应与函数的形参表一一对应。 * */82 2. 函数指针的使用 6.3.2 用函数指针调用函数 * */82 2. 函数指针的使用 【例6.18】用指向函数的指针调用函数以求二维数组中全部元素之和。 int main( ) { int arr_add(int arr[],int n); int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23}; int *p,total1,total2; int (*pt)(int*,int); /*定义一个指向函数的指针*/ pt=arr_add; p=a[0]; total1=arr_add(p,12); /*用原函数名调用函数*/ total2=(*pt)(p,12); /*用指向函数的指针调用函数,将函数入口地址赋给指针*/ couttotal=total1endl; couttotal2=total2endl; return 0; } arr_add(int arr[ ],int n ) { int i,sum=0; for(i=
您可能关注的文档
最近下载
- 《2023年甘肃省职业院校技能大赛职业英语技能赛项职业英语能力测试模块试题口语决赛样题》.pdf
- 建筑工程建筑面积计算规范GBT50353-2022[13].pdf
- JB/T 9628-1999 汽轮机叶片 磁粉探伤方法.pdf
- 0i-TF PLUS车床操作说明书.pdf
- 陈传明管理学笔记1.马工程——总论.pdf
- 06J925-2 压型钢板、夹芯板屋面及墙体建筑构造(二).docx VIP
- 《高速公路基础设施数字化建设数据标准》.pdf VIP
- 计算机组装与维护 知识点整理.pdf VIP
- 《员工满意度研究国内外文献综述》3900字.docx VIP
- 勤俭节约主题班会 主题班会.ppt VIP
文档评论(0)