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

Posted hwli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数指针和指针函数的区别相关的知识,希望对你有一定的参考价值。

1.指针函数 _type_ *function(int, int)

_type_ *function(int, int)与普通函数int function(int,int)类似,只是返回的数据类型不一样而已,_type_ *function(int, int)返回的是指针地址,int function(int,int)返回的是int型数据。

 1 #include "stdio.h"
 2 #include "stdlib.h"
 3 
 4 int sum =0;
 5 int *getAdd(int a, int b)
 6 {
 7     sum = a+b;
 8     return ∑
 9 }
10 
11 int getDiff(int a, int b)
12 {
13     return a>b?(a-b):(b-a);
14 }
15 
16 int main()
17 {
18     int *pTemp, Temp;
19     pTemp = getAdd(115,10);
20     printf("ADD result:%d
", *pTemp);
21     
22     Temp = getDiff(115,10);
23     printf("DIFF result:%d
", Temp);
24     return 0;
25 }

技术分享图片

2.函数指针__type__ (*function)(int,int)

__type__ (*function)(int,int)只是一个指针,变量指针是指向一个变量的地址,结构体指针是指向一个结构体的首地址,而函数指针是指向一个函数的地址。

 1 #include "stdio.h"
 2 #include "stdlib.h"
 3 
 4 int (*function)(int ,int);
 5 
 6 int Max(int a, int b)
 7 {
 8     return a>b?a:b;
 9 }
10 
11 int Min(int a, int b)
12 {
13     return a<b?a:b;
14 }
15 
16 int main()
17 {
18     int Num1 = 20, Num2 = 30;
19 
20     function = Max;
21     printf("Max is %d
", function(Num1, Num2));
22     function = Min;
23     printf("Min is %d
", function(Num1, Num2));
24     return 0;
25 }

技术分享图片

以上是关于函数指针和指针函数的区别的主要内容,如果未能解决你的问题,请参考以下文章

函数指针和指针函数区别

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

函数指针和指针函数用法和区别

结构体指针与结构体变量用作函数参数时有啥区别,在用法上

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

函数指针与指针函数区别