C语言中函数指针的三种使用方法总结
C语言中函数指针的三种使用方法总结
在这里分享一下自己的心得,希望和大家一起分享技术,如果有什么不足,还请大家指正。写出这篇目的,就是希望大家一起成长,我也相信技术之间没有高低,只有互补,只有分享,才能使彼此更加成长。
定义方式:int(*p)(intx,inty);
实现代码:
#includeintsum(intx,inty){ returnx+y; } intreduce(intx,inty){ returnx-y; } intmultiply(intx,inty){ returnx*y; } floatdivide(intx,inty){ if(y==0) return0; else returnx*1.0f/y; } structStudent{ intage; floatweight; char*name; void(*studentP()); } intmain(intargc,constchar*argv[]) { //1.定义函数指针 int(*p)(intx,inty); //2.初始化 p=sum; //3.赋值 ints=p(3,2); //4.打印 printf("%d\n",s);//=5; //-------------- printf("请输入数字1,2,3,4\n"); intnum; scanf("%d",&num); switch(num){ case1: p=sum; break; case2: p=reduce; break; case3: p=multiply; break; case4: p=divide; break; } intresult=p(22,2); printf("%d\n",result); //结构体: structStudentstu=(22,88,"tom",studp); printf("结构体长度=%d",sizeof(stu)); //1. stu.studp; //2. structstu*stp=&stu; (*stp).studp; //3. stp->studp; return0; }
如有疑问请留言或到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。