C语言中函数指针的三种使用方法总结

C语言中函数指针的三种使用方法总结

在这里分享一下自己的心得,希望和大家一起分享技术,如果有什么不足,还请大家指正。写出这篇目的,就是希望大家一起成长,我也相信技术之间没有高低,只有互补,只有分享,才能使彼此更加成长。

定义方式:int (*p)(int x, int y);

实现代码:

#include <stdio.h>int sum(int x, int y){  return x + y;}int reduce(int x, int y){  return x - y;}int multiply(int x, int y){  return x * y;}float divide(int x, int y){  if(y ==0)    return 0;  else    return x *1.0f/ y;}struct Student{  int age;  float weight;  char *name;  void(*studentP());}int main(int argc, const char * argv[]){  // 1.定义函数指针  int (*p)(int x, int y);  // 2.初始化  p = sum;  // 3.赋值  int s = p(3,2);  // 4.打印  printf("%d\n",s);//=5;  //--------------  printf("请输入数字1,2,3,4\n");  int num;  scanf("%d",&num);  switch (num) {    case 1:      p = sum;      break;    case 2:      p = reduce;      break;    case 3:      p = multiply;      break;    case 4:      p = divide;      break;  }  int result = p(22,2);  printf("%d\n",result);  //结构体:  struct Student stu = (22,88,"tom",studp);  printf("结构体长度=%d",sizeof(stu));  //1.  stu.studp;  //2.  struct stu* stp = &stu;  (*stp).studp;  //3.  stp -> studp;  return 0;}

如有疑问请留言或到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

于千万年之中,于千万人之中,在时间无涯的荒野中,

C语言中函数指针的三种使用方法总结

相关文章:

你感兴趣的文章:

标签云: