C语言函数指针小结C语言函数指针小结.doc
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
C语言函数指针小结 C语言函数指针是C语言中一个重要的组成部分,使用函数指针编程有以下优点: 1. 提高程序的编译效率和执行速度。 2. 通过函数指针可使用主调函数和被调函数之间共享变量或数据结构,便于实现双向数据通讯。 3. 可以实现动态的存储分配。 4. 便于表示各种数据结构,编写高质量的程序。 函数指针的运算包括: 1. 取地址运算符&:求变量的地址 2. 取内容运算符*:表示函数指针所指的变量 3. 赋值运算:把变量地址赋予函数指针变量、同类型函数指针变量相互赋值、把数组、字符串的首地址赋予函数指针变量、把函数入口地址赋予函数指针变量。 4. 加减运算:对指向数组、字符串的函数指针变量可以进行加减运算,如p+n、p-n、p++、p--等。 5. 关系运算:指向同一数组的两个函数指针变量之间可以进行大于、小于、等于比较运算。函数指针可与0比较,p==0表示p为空指针。 函数指针的各种说明和意义包括: 1. int *p;:p为指向整型量的函数指针变量 2. int *p[n];:p为指针数组,由n个指向整型量的函数指针元素组成。 3. int (*p)[n];:p为指向整型二维数组的函数指针变量,二维数组的列数为n。 4. int *p();:p为返回函数指针值的函数,该函数指向整型量。 5. int (*p)();:p为指向函数的函数指针,该函数返回整型量。 6. int p;:p为一个指向另一函数指针的函数指针变量,该函数指针指向一个整型量。 函数指针的阅读规则是“从里向外”。从标识符开始,先看它右边有无方括号或圆括号,如有则先作出解释,再看左边有无*号。如果在任何时候遇到了闭括号,则在继续之前必须用相同的规则处理括号内的内容。 右左法则是一个既著名又常用的方法,用于解读复杂的函数指针声明。右左法则:首先从最里面的圆括号看起,然后往右看,再往左看。每当遇到圆括号时,就应该掉转阅读方向。一旦解析完圆括号里面所有的东西,就跳出圆括号。重复这个过程直到整个声明解析完毕。 例如,int*(*func)(int*p);可以按照右左法则解读为:func是一个指针,然后跳出圆括号,右边也有个圆括号,这说明(*func)是一个函数,而func是一个指向这一类函数的指针,就是一个函数指针,这一类函数具有int*类型的形参,返回值类型是int。 函数指针是C语言中一个非常重要的组成部分,了解函数指针的运算、说明和阅读规则是编写高质量程序的基础。
- 粉丝: 97
- 资源: 2万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- dnSpy-net-win32-222.zip
- mongoose-free-6.9
- 德普微一级代理 DP100N06MGL PDFN3.3*3.3 TRMOS N-MOSFET 60V, 8mΩ, 45A
- 【java毕业设计】SpringBoot+Vue幼儿园管理系统 源码+sql脚本+论文 完整版
- 德普微一级代理 DP021N03FGLI DFN5*6 DPMOS N-MOSFET 30V 180A 1.8mΩ
- 巨潮资讯网5000只股票orgId-dict加密字典
- 基于java实现的快速排序代码
- 德普微一级代理 DP3145D SOT23-6 USB PD 协议单口控制器
- 【一文搞懂:什么是集成学习-原理+python代码】
- 国际象棋检测7-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、TFRecord数据集合集.rar