函数指针和指针函数的区别

参考:https://www.cnblogs.com/hwli/p/9831114.html?from=singlemessage

函数指针的本质是指向函数的指针,指针函数的本质是返回指针的函数。

  • 指针函数
 1 #include<stdio.h>
 2 int sum;
 3 int *add(int a, int b)
 4 {
 5         sum=a+b;
 6         return &sum;
 7 }
 8 int main()
 9 {
10         int *p;
11         p=add(1,2);
12         printf("add result is %d
", *p);
13         return 0;
14 }

结果:

add result is 3
  • 函数指针
 1 #include<stdio.h>
 2 int add(int x, int y)
 3 {
 4         return (x+y);
 5 }
 6 
 7 int main()
 8 {
 9         int (*p)(int, int);
10         p=add;
11         printf("add result is %d
", p(200,300));
12 }

结果:

add result is 500
原文地址:https://www.cnblogs.com/keepdoing123/p/10629954.html