欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

用函数指针调用函数

发布时间:2024/1/17 编程问答 32 豆豆
生活随笔 收集整理的这篇文章主要介绍了 用函数指针调用函数 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

2019独角兽企业重金招聘Python工程师标准>>>

#include <stdio.h>int main(void){int n = 6;int square(int num); int (*fptr)(int);  //声明函数指针fptr = square;   //初始化函数指针printf("%d square is %d.\n", n, fptr(n));return (0);  }  int square(int num){return (num * num); }

#include <stdio.h>double square(double x);  // 函数原型 double (*ptr)(double x);  // 声明函数指针int main(void){ptr = square;  // 让指针指向square()//用两种方式调用square()printf("%f %f\n", square(6.6), ptr(6.6));return 0;  } double square(double x){return x * x; }

用函数指针根据不同使用情况调用不同函数:

#include <stdio.h> #include <stdlib.h>void func1(int x); void one(void); void two(void); void other(void);int main(void){int nbr;for(;;){puts("\nEnter an integer between 1 and 10, 0 to exit: ");scanf("%d", &nbr);if(nbr == 0){exit(0);}func1(nbr);}return 0; } void func1(int val){void (*ptr)(void);if (val == 1)ptr = one;else if(val == 2)ptr = two;elseptr = other;ptr(); } void one(void){puts("You entered 1."); } void two(void){puts("You entered 2."); } void other(void){puts("You entered something other than 1 or 2."); }


#include <stdio.h> //函数func1()接受一个函数指针参数,该指针指向的函数不接受任何参数,也没有返回值 void func1(void (*p)(void)); void one(void); void two(void); void other(void);int main(void){void (*ptr)(void); // 函数指针int nbr;for(;;){puts("\nEnter an integer between 1 and 10, 0 to exit: ");scanf("%d", &nbr);if(nbr == 0){break;} else if(nbr == 1){ptr = one;} else if(nbr == 2){ptr = two;} else {ptr = other;}func1(ptr);} return 0; } void func1(void (*p)(void)){p(); } void one(void){puts("You enter 1."); } void two(void){puts("You enter 2."); } void other(void){puts("You enter something other than 1 or 2."); }


转载于:https://my.oschina.net/u/241930/blog/523361

总结

以上是生活随笔为你收集整理的用函数指针调用函数的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。