函数指针
来源:互联网 发布:组策略映射网络驱动器 编辑:程序博客网 时间:2024/06/07 08:18
typedef DWORD (CALLBACK* LPREGISTERSERVICEPROCESS)(DWORD,DWORD);
定义了一个函数指针类型为 LPREGISTERSERVICEPROCESS,函数返回值为 DWORD,参数为两个 DWORD 类型。函数指针说起来比较麻烦,以带两个 int 参数的函数指针为例,一看就明白:#include <stdio.h>typedef int (*PFNTEST)(int, int);int test1(int a, int b){return (a+b);}int test2(int a, int b){return (a-b);}int call(int i, PFNTEST pfn){return (*pfn)(i*i, i);}int main(){int m, n, p, q;PFNTEST pfnTest;pfnTest = &test1;m = (*pfnTest)(3, 5);pfnTest = &test2;n = (*pfnTest)(6, 2);p = call(4, test1);q = call(7, test2);printf("%d, %d, %d, %d.", m, n, p, q);return 0;}输出结果:8, 4, 20, 42.Windows SDK 定义:#define CALLBACK __stdcall其中采用 __stdcall 调用约定,可能是微软在 dll 内部对该函数指针也指明了这种调用约定,所以你声明的时候也需要指定,才能正确调用。
0 0
- 指针函数 函数指针
- 函数指针/指针函数
- 指针函数&函数指针
- 函数指针 指针函数
- 函数指针 指针函数
- 指针函数,函数指针
- 函数指针,指针函数,
- 指针函数,函数指针
- 函数指针 指针函数
- 函数指针、指针函数
- 指针函数&函数指针
- 函数指针 指针函数
- 函数指针 指针函数
- 函数指针&指针函数
- 指针函数 函数指针
- 指针函数 &函数指针
- 函数指针&指针函数
- void指针 函数指针
- 基础数学 1002 LightOJ 1356
- /bin/bash^M: 坏的解释器: 没有那个文件或目录
- 基础数学1003 LightOJ 1341
- Junit测试出现空指针异常
- Pokémon GO的蝴蝶效应——国内哪些APP借了任天堂的东风?
- 函数指针
- Notification学习
- ActiveMQ简介
- 基础数学1004 LightOJ 1336
- GCC简明教程(2)
- spark-submit 提交 spark-examples-1.6.1-hadoop2.6.0.jar
- Hdu 5451 Best Solver(快速幂取模+循环节) -2015 ACM-ICPC沈阳网赛1002
- 杂记
- UVA - 133 The Dole Queue