FEATURED · 精选文章

C语言学习之指针函数和函数指针

发布时间 / 2026/8/3 2:08:09
来源 / 创域科博编辑部
栏目 / 资讯中心
C语言学习之指针函数和函数指针 昨天学习了指针函数和指针函数其实本应该昨天更新的但是昨天小小的休息了一下今天继续学习对于指针函数和函数指针的理解我的理解是指针函数只是一个函数不过他的返回值比较特殊返回的是一个指针最重要的是指针函数不能返回函数内的一个局部变量的地址因为局部变量的会在函数调用完后被回收别人拿着这个地址去寻找结果发现里面什么都没有这不是扯淡吗接下来是函数指针函数指针其实就是个指针但这个指针就是指向一个函数可以通过这个指针去调用一个函数不过对于现阶段学习的知识来讲使用函数指针有点高射炮打蚊子但在后面的学习会有很多妙处等着一步步解锁吧1.const指针const关键字的含义是只读修饰变量后只读const int *p; p可以被修改*p无法修改 int const *p; 等价与上 int *const p; p无法被修改*可以被修改 const int *const p; p与*p都无法被修改 int const *const p; 等价同上2.函数指针的用法#include stdio.h int add(int x, int y) { return x y; } int sub(int x, int y) { return x - y; } int mul(int x, int y) { return x * y; } int div(int x, int y) { return x / y; } int jisuanqi(int x, int y, int (*p)(int, int))//我的理解是函数的函数名其实也是个指针 { return p(x, y);将函数的地址传进来调用这个函数返回他的值 } int main(void) { int num1 0; int num2 0; char op 0; int ret 0; int (*pfun)(int, int) NULL; scanf(%d %c%d, num1, op, num2); switch (op) { case :ret jisuanqi(num1, num2, add);break; case -:ret jisuanqi(num1, num2, sub);break; case *:ret jisuanqi(num1, num2, mul);break; case /:ret jisuanqi(num1, num2, div);break; } printf(ret %d\n, ret); }
RELATED — 相关阅读

相关资讯

LATEST — 最新资讯

最新发布

TODAY — 本日精选

新闻

WEEKLY — 本周精选

新闻

MONTHLY — 本月精选

新闻