| |
| |
| |
| |
| #include <stdio.h> |
| #include <stdlib.h> |
| |
| int hello(int i); |
| void hey(int i); |
| int someother(void); |
| void defaultFunc(void); |
| |
| typedef void(*PTRFUN)(void); |
| PTRFUN pFun; |
| |
| |
| |
| |
| int main(void) |
| { |
| |
| int (*p)(int); |
| p = hello; |
| int n = 0; |
| (*p)(22); |
| printf("*p reruen value=%d\n", n); |
| n = p(23); |
| printf(" p reruen value=%d\n", n); |
| printf("*p=%d\n", *p); |
| printf(" p=%d\n", p); |
| |
| |
| |
| |
| |
| |
| |
| puts("\n"); |
| pFun = defaultFunc; |
| pFun(); |
| printf(" pFun reruen value=%d\n", n); |
| (*pFun)(); |
| printf("*pFun reruen value=%d\n", n); |
| printf("*pFun=%d\n", *p); |
| printf(" pFun=%d\n", p); |
| |
| exit(EXIT_SUCCESS); |
| } |
| |
| |
| |
| |
| int hello(int i) |
| { |
| printf("I know you are saying hello %d.\n", i); |
| return i + 3; |
| } |
| |
| void hey(int i) |
| { |
| printf("hey~hey = %d.\n", i); |
| |
| } |
| |
| int someother(void) |
| { |
| puts("some more out put."); |
| } |
| |
| void defaultFunc(void) |
| { |
| puts("there is no function for this anyway."); |
| } |
| |
| |
方法
| int my_func(int a,int b){ |
| printf("ret:%d\n", a + b); |
| return 0; |
| } |
| |
| |
| void test01(){ |
| typedef int(FUNC_TYPE)(int, int); |
| FUNC_TYPE* f = my_func; |
| |
| (*f)(10, 20); |
| f(10, 20); |
| } |
| |
| |
| void test02(){ |
| typedef int(*FUNC_POINTER)(int, int); |
| FUNC_POINTER f = my_func; |
| |
| (*f)(10, 20); |
| f(10, 20); |
| } |
| |
| |
| void test03(){ |
| |
| int(*f)(int, int) = my_func; |
| |
| (*f)(10, 20); |
| f(10, 20); |
| } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律