指针函数与函数指针
2014-04-04 19:40
267 查看
今天Mayuyu将要讲的是指针函数和函数指针,听着怎么这么绕口?没错,这两个概念及容易搞混,现在Mayuyu就来
给你讲讲它们的区别及用法。
(1)指针函数
从名字可以看出,它本质上是一个函数,这是一个返回值类型为指针的函数,比如:
嗯,指针函数挺简单的,没有什么可以说的,接下来我们重点讲解函数指针。
(2)函数指针
同指针函数一样,从名字可以读出它是一个指针,可以把整个函数当作一个指针,进而对它进行操作。比如
函数指针与指针函数的最重要区别就是一个是指针变量,而另一个是函数。
通过上面代码比较也很容易知道它们的区别了。
给你讲讲它们的区别及用法。
(1)指针函数
从名字可以看出,它本质上是一个函数,这是一个返回值类型为指针的函数,比如:
#include <iostream> #include <string.h> #include <stdio.h> using namespace std; int *Find(int x) { static int a[] = {0,1,2,3,4,5,6,7,8,9}; if(x < 0 || x > 9) return NULL; return a + x; } int main() { int *p = Find(8); cout<<*p<<endl; return 0; }
嗯,指针函数挺简单的,没有什么可以说的,接下来我们重点讲解函数指针。
(2)函数指针
同指针函数一样,从名字可以读出它是一个指针,可以把整个函数当作一个指针,进而对它进行操作。比如
#include <iostream> #include <string.h> #include <stdio.h> using namespace std; int Find(int x) { static int a[] = {0,1,2,3,4,5,6,7,8,9}; if(x < 0 || x > 9) return -1; return *(a + x); } int main() { int (*f)(int x); f = Find; cout<<f(5)<<endl; return 0; }
函数指针与指针函数的最重要区别就是一个是指针变量,而另一个是函数。
通过上面代码比较也很容易知道它们的区别了。
相关文章推荐
- java--反射
- opencv 在工业中的应用:模板匹配
- 倒计时
- [Unity3D]Unity资料大全免费分享
- 超有意思的小学编程题
- 【位操作】Divide Two Integers
- Unity3D资源分享
- subprocess创建守护进程
- 关闭MyEclipse的Quick Update
- iOS 单例模式
- Spring MVC的中如何使用AOP拦截到@控制器?
- opencv 在工业中的应用:圆孔定位
- JQuery判断页面图片是否加载完成并延迟加载
- iOS开发- ios学习资源(持续更新)
- C#操作并口
- 主流推送平台分析
- Android Framework中的PolicyManager简介
- ural 1586. Threeprime Numbers
- 友盟推送
- 用Servlet读写文件