c语言函数指针的用法是什么

avatar
作者
筋斗云
阅读量:0

C语言函数指针是指向函数的指针变量,它可以指向一个函数的首地址。函数指针的用法主要有两种:

  1. 函数指针作为参数:函数指针可以函数的参数,用来在函数调用时传递函数的地址,从而达到在函数中调用其他函数的目的。这样可以实现一些高级的函数功能,比如回调函数。例如:
#include <stdio.h>  void print(int num) {     printf("%d\n", num); }  void iterate(int start, int end, void(*func)(int)) {     for(int i = start; i <= end; i++) {         func(i);     } }  int main() {     iterate(1, 5, print);          return 0; } 
  1. 函数指针作为返回值:函数指针也可以函数的返回值,用来返回一个指向函数的指针。这样可以实现根据不同的条件返回不同的函数地址。例如:
#include <stdio.h>  int add(int a, int b) {     return a + b; }  int subtract(int a, int b) {     return a - b; }  int multiply(int a, int b) {     return a * b; }  int divide(int a, int b) {     return a / b; }  int (*getOperation(char op))(int, int) {     switch(op) {         case '+':             return add;         case '-':             return subtract;         case '*':             return multiply;         case '/':             return divide;         default:             return NULL;     } }  int main() {     int a = 10, b = 5;     char op = '+';          int (*operation)(int, int) = getOperation(op);          if(operation != NULL) {         int result = operation(a, b);         printf("%d\n", result);     } else {         printf("Invalid operator\n");     }          return 0; } 

这样,根据不同的操作符,可以返回对应的函数地址,从而实现不同的运算。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!