函数名/函数地址/函数指针
转自:http://hi.baidu.com/%C6%BF%D6%D0%B5%C4%C5%AE%CE%D7/blog/item/387db9ddaa54d0a9cd1166fa.html 函数指针:1。指针变量 2。指针变量指向函数 这正如用指针变量可指向整型变量、字符型、数组一样。 在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。 可利用该指针变量调用函数,就如同用指针变量可引用其他类型变量一样,在这些概念上 一致的。事实上,每一个函数,即使它不带有返回某种类型的指针,它本身都有一个入口 地址,该地址相当于函数名 尽管函数不是变量,但它在内存中仍有其物理地址,该地址能够赋给指针变量。获取函数 方法是:用不带有括号和参数的函数名得到。 函数名相当于一个指向其函数入口指针常量。 函数名后面加圆括号,表示函数调用 若要得到函数的地址,直接用函数名就可以了 ############################################################## 指针/函数和函数/指针的区别 1, 指针函数:指带指针的函数,即本质是一个函数。 2. 指针函数返回类型是某一类型的指针。 ############################################################## 函数指针有两个用途:调用函数和做函数的参数。函数指针的说明方法为: 数据类型标志符 (指针变量名)(形参列表); 注1:“函数类型”说明函数的返回类型,由于“()”的优先级高于“*”,所以指针变量名 外的括号必不可少,后面的“形参列表”表示指针变量指向的函数所带的参数列表。例 int func(int x); /* 声明一个函数 */ int (*f) (int x); /* 声明一个函数指针 */ f=func; /* 将func函数的首地址赋给指针f */ 赋值时函数func不带括号,也不带参数,func代表函数的首地址 注2:函数括号中的形参可有可无,视情况而定。 下面的程序说明了函数指针调用函数的方法: 例一、 #include int max(int x,int y){ return(x>y?x:y); } void main() { int (*ptr)(int, int); int a,b,c; ptr=max; scanf("%d,%d",&a,&b); c=(*ptr)(a,b); printf("a=%d,b=%d,max=%d",a,b,c); } 实际上ptr和max都指向同一个入口地址,不同就是ptr是一个指针变量,不像 函数名称那样是死的,它可以指向任何函数 注意,指向函数的指针变量没有++和--运算 ################################################################################# |
函数名/函数地址/函数指针相关推荐
- 函数名地址、函数名取地址、函数名解引用问题
以下,转载自http://blog.sina.com.cn/s/blog_6aafe9c90100xg2y.html 对一个函数进行 如下操作: 1.函数名地址 2.函数名取地址 3.函数名解引用 它 ...
- 函数调用通过函数名字符串调用函数【C语言版】
在写这篇文章之前,xxx已经写过了几篇关于改函数调用主题的文章,想要了解的朋友可以去翻一下之前的文章 问题引入 在C中,函数先定义,后使用.举个简单的例子 /********************* ...
- 通过函数名字符串调用函数【C语言版】
问题引入 在C中,函数先定义,后使用.举个简单的例子 /************************ * add by oscar999 ************************/ fun ...
- 199 c 通过函数名字符串调用函数
通过函数名字符串调用函数 今天写c的作业时候想起来能不能用函数名字符串来调用函数 一.函数指针 第一个问题,函数名如何保存,我们需要用到函数指针 声明 type (*func)(type &, ...
- c语言 怎么将字符串代入函数,通过函数名字符串调用函数【C语言版】
问题引入 在C中,函数先定义,后使用.举个简单的例子 /************************ * add by oscar999 ************************/ fun ...
- 0717Python总结-return返回值,全局及局部变量,函数名的使用,函数的嵌套,nonlocal修改局部变量,及locals和globals
一.return 返回值 自定义函数的返回值,return 可以把值返回到函数的调用处 (1) return + 六大标准数据类型 , 还有类和对象,函数 如果不定义return , 默认返回的是No ...
- python-return_全局局部变量_函数名用法_函数嵌套
函数 1. return 返回值 作用: 自定义函数的返回值,return 可以把值返回到函数的调用处 return + 六大标准数据类型 , 还有类和对象,函数 如果不定义return ...
- JS根据函数名字符串调用函数
转自百度知道:https://zhidao.baidu.com/question/1733819401878068867.html <script type="text/javascr ...
- 剖析数组名、函数名(不是指针常量,更不是指针)
对于一个数组,如 int a[4]; 如果只是给出数组名a,编译器不知道该取该数组的第几个元素,因此编译器不会自动取值,而是返回该数组的首地址(第一个元素的地址).其实,数组名a就是数组本身,并不是 ...
- c语言漫函数,漫谈C指针:函数名其实也是指针
一般的函数调用 一个通常的函数调用的例子: /* 自行包含头文件 */ void MyFun(int x); /* 此处的声明也可写成:void MyFun(int) */ int main(int ...
最新文章
- easypoi实现Excel导入
- android 的listview 3大优化策略
- Metal之探究理解视频渲染RGB与YUV颜色编码
- netsh 查询mac地址_ARP(Address Resolution Protocol)地址解析协议
- JVM类加载机制_字节码执行引擎_Java内存模型
- python模拟猫狗大战_tensorflow实现猫狗大战(分类算法)-阿里云开发者社区
- 回溯法|Backtracking
- Phoca Gallery Images 去除 logo
- 贵州省谷歌地球高程DEM等高线下载
- windowsxp系统怎么装iis服务器,win xp系统安装IIS的详细步骤【图文】
- 智慧路灯杆会用到哪些通信方式
- JavaWeb笔记01(mysql)
- java里获取当前月份_Java如何获取当前月份的名称?
- 详版大数据报告_如何制作大数据报告
- 深度学习入门 (九):卷积层和池化层的实现
- 优化器介绍—SGD、Adam、Adagrad
- 基于NodeJs的微信第三方平台认证授权流程
- 【松岩盘前视点】2019-9-11
- 南京理工大计算机专业介绍,南京理工大学计算机科学与技术专业介绍
- 千月影视H5升级包用来优化ios打包
热门文章
- 将html代码转换为dom,将HTML字符转换为DOM节点并动态添加到文档中
- mysql多表成绩查询_MySQL多表数据记录查询(一)
- cam350怎么看顶层_蛋糕胚速学教程大全,适合初学者看哦!
- python中列表和元组的相同点和不同点_详解Python语言中元组和列表的区别
- java结构体系_java io结构体系
- 变压器符号_行输出变压器的结构、符号及电路分析
- 亿佰特Lora网关技术为马拉松保驾护航
- php登陆框_PHP 登录完成跳转上一访问页面
- c语言中系统函数设定像素,在imag中对每个像素应用自定义函数的快速方法
- 掌握java_如何才算掌握Java,大家都掌握到什么程度