关于C函数指针的一个解答

转载 2006年05月19日 18:59:00
函数指针最大的用处在于它可以被一个模板方法调用,这是我在学java的设计模式时领悟到的.例如,有两个函数的流程结构完全一致,只是内部调用的具体函数不同,如下所示:
void func1()
{
         //一段流程代码和面向方面的代理,如安全检查,日志记录等
         int sum = add( x , y);
        //一段流程代码和面向方面的代理,如安全检查,日志记录等
}
void func2()
{
         //与func1完全相同的一段流程代码和面向方面的代理,如安全检查,日志记录等
         int difference = sub( x , y);
        //与func1完全相同的一段流程代码和面向方面的代理,如安全检查,日志记录等
}
那么,可以只定义一个函数,如下所示
void func(PFUNC p)
{
         //与func1完全相同的一段流程代码和面向方面的代理,如安全检查,日志记录等
         int difference = p( x , y);
        //与func1完全相同的一段流程代码和面向方面的代理,如安全检查,日志记录等
}
调用程序在调用时,让参数p分别指向add和sub函数就可以了.
对于其他题目的讲解,由于我目前写作和工作的重点已完全不在c语言方面了,也没有时间一一解答,就借用Jackie214发布的答案来回应大家.

函数指针 && 返回函数指针的函数的一些姿势

函数指针一些知识 (1) ,  在mj下拉刷新中遇到了定义的一个宏,看起来比较晦涩,如下 #define msgSend(...) ((void (*)(void *, SEL, UIView *)...
  • itianyi
  • itianyi
  • 2015年01月06日 12:06
  • 1700

C/C++高阶语法:函数指针及其应用

1、在讲函数指针之前,我们先明白C/C++中常见的指针函数。    int * GetData(int num); 形如上面的形式的为指针函数, 指针函数实际上就是函数,只是返回类型为指针。在结构体...
  • QQrenzai
  • QQrenzai
  • 2015年11月02日 21:02
  • 751

C语言面向对象编程(定义、函数指针、指针函数)

所谓面向对象编程,就是把一切万物看着对象(即一切皆对象),此对象具有一定的属性和方法。对象怎么理解呢?我的理解:好比如我们人,人有名字、有性别、有年龄等等一些本身具有的属性,还有人能跑、能吃饭、能睡觉...
  • Thanksgining
  • Thanksgining
  • 2014年12月17日 21:34
  • 2307

【c和指针学习笔记】函数指针的初始化以及函数调用的三种方式

看如下代码,然后思考如下几个问题: #include #include using namespace std; int func() { cout ...
  • ZongYinHu
  • ZongYinHu
  • 2015年09月28日 21:29
  • 2000

在C和C++下声明函数指针的方式

在C的规范下,声明一个函数指针的方式如下: //comm.h #ifndef COMM_H #define COMM_H void test_print(const char*); void(*co...
  • u013600225
  • u013600225
  • 2017年04月05日 15:16
  • 536

深入浅出剖析C语言函数指针与回调函数(一)

今天我们要搞明白的一个概念叫回调函数。什么是回调函数?百度的权威解释如下:回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数...
  • morixinguan
  • morixinguan
  • 2017年03月24日 00:19
  • 6210

C++和函数指针和线程函数

虽然标题是这么写的不过还是倒过来先从线程说起吧,Windows via C/C++里提到的线程函数实现这里就不说了,只说创建需要给的一个函数指针。uintptr_t _beginthreadex( ...
  • generalhking
  • generalhking
  • 2012年08月21日 11:03
  • 1287

c/c++ 函数类型和函数指针类型 详解

c/c++ 中数据结构跟指针真的是很强大 今天解释下 函数类型和函数指针类型 1.函数类型 在C语言中,函数也是一种类型,可以定义指向函数的指针。我们知道,指针变量的内存单元存放一个地址值, 而函...
  • feigegegegegegegeg
  • feigegegegegegegeg
  • 2016年09月08日 11:41
  • 3667

C语言—理解函数指针以及它的用法

什么是函数指针? 指针前面已经写过好多,自以为认识的差不多了,但是今天突然看到一个问题,写一个函数指 针,函数指针就是一个指向函数首地址的指针,接下来写几个指针: 写一个函数指针 写一个函...
  • Dawn_sf
  • Dawn_sf
  • 2017年02月13日 16:59
  • 4423

C语言-函数指针与函数名的区别

记得大学时老师曾说函数的函数名是函数的入口的指针,之前看block通过clang编译生成的C代码发现很多函数指针,于是想了解函数指针与函数名有什么区别?以及函数指针一般都有些什么作用。 函数指针与函...
  • qq_30107991
  • qq_30107991
  • 2016年01月01日 11:39
  • 4041
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于C函数指针的一个解答
举报原因:
原因补充:

(最多只允许输入30个字)