用函数指针调用函数
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."); }转载于:https://my.oschina.net/u/241930/blog/523361
总结
- 上一篇: c语言学习之基础知识点介绍(十):数组
- 下一篇: 几种定时任务的实现