a:用call_fun_ptr调用afun(),b:用call_fun_ptr调用bfun()

a

请输入给您指定的函数输调用的参数

afun_par

-----------------------------

now call_fun_ptr

-----------------------------

call afun:(afun_par)

-----------------------------

请按任意键继续. . .

a:用call_fun_ptr调用afun(),b:用call_fun_ptr调用bfun()

b

请输入给您指定的函数输调用的参数

bfun_par

-----------------------------

now call_fun_ptr

-----------------------------

call bfun:(bfun_par)

-----------------------------

请按任意键继续. . .

/*

*/
#include "common.h" void call_fun_ptr(void(*fp)(char* str),char *str)
{
puts("-----------------------------");
printf("now %s \n",__FUNCTION__);
(*fp)(str);
} void afun(char* str)
{
puts("-----------------------------");
printf("%s%s:(%s)\n","call ",__FUNCTION__,str);
puts("-----------------------------");
} void bfun(char* str)
{
puts("-----------------------------");
printf("%s%s:(%s)\n","call ",__FUNCTION__,str);
puts("-----------------------------");
} int main(int argc,char* argv[])
{
char ch='\0';
char str[81]={0};
void ((*fun_ptr[2]))(char*)={afun,bfun};
printf("a:用call_fun_ptr调用afun(),b:用call_fun_ptr调用bfun()%\n");
scanf("%c",&ch);
printf("请输入给您指定的函数输调用的参数%s\r\n",str);
scanf("%s",str);
if('a'==ch)
call_fun_ptr(*fun_ptr[0],str);
else if('b'==ch)
call_fun_ptr(*fun_ptr[1],str);
else
printf("输入字符无效\n"); system("pause");
return 0;
}

复习C语言系列二:动态调用函数指针数组的更多相关文章

  1. 【嵌入式开发】C语言 结构体相关 的 函数 指针 数组

    . 作者 : 万境绝尘 转载请注明出处 : http://www.hanshuliang.com/?post=30 . 结构体概述 : 结构体是 多个 变量的集合, 变量的类型可以不同; -- 可进行 ...

  2. C#委托与C语言函数指针及函数指针数组

    C#委托与C语言函数指针及函数指针数组 在使用C#时总会为委托而感到疑惑,但现在总新温习了一遍C语言后,才真正理解的委托. 其实委托就类似于C/C++里的函数指针,在函数传参时传递的是函数指针,在调用 ...

  3. c语言.函数指针数组

    函数指针: 一个指向函数的指针.一般用函数名表示. 函数指针数组:元素为函数指针的数组.转移表.c语言中函数不可以定义为数组,只能通过定义函数指针来操作. #include<stdio.h> ...

  4. C语言学习笔记之函数指针与函数指针数组

    指针函数:本质是一个函数: 是一个返回指针类型的函数int * sum(){ } 函数指针:本质是一个指针: 是一个指向函数的指针 int (*p)(int,int) = sum; p(5,6); i ...

  5. C语言的函数指针数组(好绕啊~看完这篇估计就通关了)

    转自https://www.cnblogs.com/chr-wonder/p/5168858.html int *(*p(int))[3] 今天有人问这个是啥?我一看直接就懵逼了…… 下面做一些简单的 ...

  6. c语言的函数指针和函数指针数组的简单demo

    今天,简单记录一下,函数指针和函数指针数组的使用,废话不多说,直接贴上代码,里面有详细的注释,方便以后查阅. #include <cstdio> #include <Windows. ...

  7. 转:函数指针数组的妙用(I)

    转自:http://blog.sina.com.cn/s/blog_4c78b35f010008hi.html 笔者在开发某软件过程中遇到这样一个问题,前级模块传给我二进制数据,输入参数为 char* ...

  8. C++基础——函数指针 函数指针数组

    ==================================声明================================== 本文版权归作者所有. 本文原创,转载必须在正文中显要地注明 ...

  9. typedef 函数指针 数组 std::function

    1.整型指针 typedef int* PINT;或typedef int *PINT; 2.结构体 typedef struct { double data;}DATA,  *PDATA;  //D ...

随机推荐

  1. 在Oracle 11g中用看Oracle的共享内存段---------IPCS

    很早之前,在一次讲课了,用了命令ipcs,发现oracle的共享内段好小,如下: oracle@mydb ~]$ ipcs -a ------ Shared Memory Segments ----- ...

  2. System.Reflection.Emit学习

    C#反射发出System.Reflection.Emit学习 分享: 1 一.System.Reflection.Emit概述 Emit,可以称为发出或者产生.与Emit相关的类基本都存在于Syste ...

  3. 给内置对象或自定义对象添加存取器属性(getter setter)的方法总结

    funct = { get: function() { return this._x }, set: function(value) { this._x = value } } function Ob ...

  4. Android学习笔记(十七)——使用意图调用内置应用程序

    使用意图调用内置应用程序 1.创建一个新的Android项目并命名为Intents,在main.xml文件里加入两个Button: <Button android:id="@+id/b ...

  5. 小编辑 Java 中十进制和十六进制的相互转换

    1 2 3 4 5 // 十进制转化为十六进制,结果为C8. Integer.toHexString(200);   // 十六进制转化为十进制,结果140. Integer.parseInt(&qu ...

  6. SRM 585

    250 : 递推,从左下角到右下角走一条,剩下的都是子结构 const int mod = 1000000007; long long dp[1000010] , s[1000010]; class ...

  7. ASP.NET中IsPostBack的理解

    IsPostBack是Page类的一个属性,返回值为一个布尔值. 一般放在Page_Load事件中, 是指是否第一次调用这个页面.当页面是第一次打开时其值为False,若当前页面为一个提交后的页面其值 ...

  8. 如何在UILable上添加点击事件?

    最近开始学习iOS开发,今天上来写第一个iOS笔记 昨天碰到一个需求,在UILable上添加点击事件,网上找了写资料,有人建议用透明的UIButton覆盖,有人建议写一个集成自UILable的类,扩展 ...

  9. windows cmd: 增强windows命令行

    1. 安装clink插件使得windows cmd.exe更好用 https://github.com/mridgers/clink/releases Overview: Clink combines ...

  10. 杭电oj A + B Again

    A + B Again Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tota ...