C语言 未曾知晓 获取函数地址,利用这个地址调用函数
2012-05-21 00:00
387 查看
#include <stdio.h> typedef unsigned short UNSIGNED16; typedef unsigned char UNSIGNED8; typedef UNSIGNED16 (*DEMO_CYCLE)(void); static UNSIGNED16 lp_demo(void); static UNSIGNED16 ap_demo(void); static UNSIGNED16 md_demo(void); static UNSIGNED16 mixed_demo(void); DEMO_CYCLE p_demo_cycle = NULL; DEMO_CYCLE p_demo_cycle_group[4] = {lp_demo, ap_demo, md_demo, mixed_demo}; UNSIGNED8 demo_type; static UNSIGNED16 lp_demo(void) { printf("lp_demo执行这里\n"); return 0; } static UNSIGNED16 ap_demo(void) { printf("ap_demo执行这里\n"); return 0; } static UNSIGNED16 md_demo(void) { printf("md_demo执行这里\n"); return 0; } static UNSIGNED16 mixed_demo(void) { printf("mixed_demo执行这里\n"); return 0; } int main(int argc, char *argv[]) { UNSIGNED16 result = 0; printf("%d\n",demo_type); //获取函数地址 p_demo_cycle = p_demo_cycle_group[demo_type]; //利用函数地址调用函数 result = (*p_demo_cycle)(); return 0; }
函数名字符串指针:利用函数地址调用函数.同时利用数组的形式.以更加方便的形式进行操作
相关文章推荐
- c语言中调用函数的返回值,如果是数组,主函数要输出这个数组怎么实现?
- 利用PE数据目录的导入表获取函数名及其地址
- 如果改变了形参数组的值 从而在调用函数期间 形参数组就和实参数组共占同一段内存单元 为什么形参数组从实参数组那里得到起始地址后 请问各位C语言高手:当用数组名作函数参数时 也就该变了实参数组的值
- 利用PE数据目录的导入表获取函数名及其地址
- 获取当前运行函数及调用函数
- 172 已知有个rand7()的函数,返回1到7随机自然数,让利用这个rand7()构造rand10()随机1~10
- self指向函数地址 动态调用函数的简单例子
- PHP获取当前页面完整url地址,包括参数的函数
- Delphi获取公网IP地址函数
- C语言localtime()函数:获取当前时间和日期并转换为本地时间
- 在C语言中以编程的方式获取函数名
- 旧书重温:0day2【4】动态获取函数地址
- C语言strstr()函数:返回字符串中首次出现子串的地址
- 利用clang提供的库函数进行c语言常规错误的检测
- C语言stat()函数:获取文件状态
- Excel中身份证相关信息利用函数获取一例
- 利用函数将程序跳转到固定地址执行
- C语言实现Windows下获取IP和MAC地址。
- C语言之函数指针和函数的首地址
- Windows系统调用架构分析—也谈KiFastCallEntry函数地址的获取