#include <stdio.h>
#include <stdlib.h>typedef void (* PF)();void add(int a,int b,int *result)
{*result=a+b;printf("result:%d\n",*result);
}void main()
{int x,y,z;PF pfun = add;x=5;y=4;    pfun(x,y,&z);
}

typedef void (* PF)();  换成 typedef void (* PF)(int,int,...);  typedef void (* PF)(,...);   typedef void (* PF)(int,int,int*); 都可以

但是换成  typedef void (* PF)(...);    typedef void (* PF)(int);  不可以。

说明可变形参可以采用直接不指定()或指定前几个再加省略号的形式,直接加省略号不可以,省略号前面必须有逗号。如果指定了确定个的形参,那么就必须与所指向的函数的形参一致。

转载于:https://www.cnblogs.com/mlj318/archive/2011/11/02/2233106.html

函数指针声明时的形参列表可以没有相关推荐

  1. 指针用作函数参数、指针型函数和函数指针

    指针用作函数参数 以前我们学过的函数参数要么是基本数据类型的变量,要么是类的对象,又或者是数组名,前几讲学到的指针同样可以用作函数参数. 指针作函数形参时,我们调用此函数将实参值传递给形参后,实参和形 ...

  2. c c++ 函数内数组初值_C/C++函数指针与指针函数

    关于指针,前面文章C语言指针详解有过介绍,这里主要讨论函数指针和指针函数. 1 什么是指针? 定义:指针是程序数据在内存中的地址,而指针变量是用来保存这些地址的变量; 上面一个 4GB 的内存可以存放 ...

  3. C/C++基础知识:函数指针和指针函数的基本概念

    [函数指针] 在程序运行中,函数代码是程序的算法指令部分,它们和数组一样也占用存储空间,都有相应的地址.可以使用指针变量指向数组的首地址,也可以使用指针变量指向函数代码的首地址,指向函数代码首地址的指 ...

  4. C++(12)--函数基础:按值传递、传递数组、函数指针

    模块化编程--函数 1. 函数基本知识 2. 函数的参数 2.1 按值传递机制(小议按引用传递) 2.2 使用数组做函数参数(用户头文件,const的防改) 2.3 使用二维数组作为函数的参数 2.4 ...

  5. static关键字 void和void指针 函数指针

    static关键字 1.作用于变量:    用static声明局部变量-------局部变量指在代码块{}内部定义的变量,只在代码块内部有效(作用域),其缺省的存储方式是自动变量或说是动态存储的,即指 ...

  6. 分清函数指针和指针函数

    分清函数指针和指针函数 1.指向函数的指针(函数指针) 来分析这样一个声明,void (*f) ( );虽然()的优先级高于*,但由于有括号存在,首先执行的是解引用,所以f是一个指针:接下来执行( ) ...

  7. 【C++学习笔记】函数匹配和函数指针

    一.函数匹配   在大多数情况下,比较容易确定某次调用应选用哪个重载函数,然而当几个重载函数的形参数量相等以及某些形参的类型可以由其他类型转换得到时,这个相对就不那么容易. 1.1 实参类型转换    ...

  8. 函数指针和指针函数以及数组指针和指针数组区别

    函数指针(指向函数的指针) 与数据项类似,函数也有自己的地址.函数的地址是存储其机器代码的内存的开始地址.例如,可以编写将另一个函数的地址作为参数的函数,这样第一个函数将能够找到第二个函数,并运行它. ...

  9. c/c++开发,无可避免的函数指针使用案例

    目录 一.函数指针简介 二.函数指针数组 三.指向重载函数的指针 四.函数指针作为类成员 五.函数指针作为形参 六. 转换表 七.类函数指针成员与注册函数 八.类函数指针数组 九.函数指针测试案例 一 ...

最新文章

  1. Qt中使用多线程的一些心得(一)——继承QThread的多线程使用方法
  2. AMD猛攻数据中心市场,拿下15年来最高份额,英特尔DCG收入下滑20%
  3. 获取列表中最大N个数的索引
  4. 科大星云诗社动态20210215
  5. Razor传值到js
  6. Eclipse从github上clone项目到开发环境
  7. 这是一次 docker 入门实践
  8. 《代码整洁之道 Clean Architecture》-读书笔记
  9. IDEA中新建项目Static Web 中没有vue.js
  10. Tomcat软连接访问配置(symbol link)
  11. 【Flink】Could not instantiate the executor. Make sure a planner module is on the classpath
  12. 创建完美SDK的10个技巧
  13. 基于mapreducer的图算法
  14. poj 1952 BUY LOW, BUY LOWER dp 但去重真是令人纠结
  15. python从网页提取文本_从网页中提取文本
  16. MVpArms集成框架快速开发
  17. odoo 14 手册 客户 报价单 销售订单
  18. 深度IP转换器安卓版APP怎么修改OPPO手机IP地址
  19. 游戏开发中的贝塞尔曲线,曲线和路径
  20. 亲测有效win10系统QQ音乐无法安装

热门文章

  1. eclipse和myeclipse中如何关闭自动补全括号,花括号,双引号等功能
  2. WCF面向服务应用程序系列之十:绑定-标准绑定(HTTP/TCP)
  3. spring boot Redis使用
  4. 永信至诚携 “企业安全人才培养解决方案”惊艳WOT技术峰会
  5. 详细透彻的分析DM9000网卡驱动程序(3)
  6. [转]Laravel 4之URL生成
  7. nanflash编程的地址问题
  8. nagios(系统监控)
  9. android OKHttp的基本使用详解
  10. android fitsSystemWindows的使用