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

参考: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\n", *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\n", p(200,300));
12 }

结果:

add result is 500

 

posted @ 2019-03-31 00:46  我是二狗  阅读(1490)  评论(0编辑  收藏  举报