码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-10-22 17:59:21      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:src   span   .com   alt   stdio.h   code   add   mes   数据类型   

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\n", *pTemp);
21     
22     Temp = getDiff(115,10);
23     printf("DIFF result:%d\n", 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\n", function(Num1, Num2));
22     function = Min;
23     printf("Min is %d\n", function(Num1, Num2));
24     return 0;
25 }

技术分享图片

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

标签:src   span   .com   alt   stdio.h   code   add   mes   数据类型   

原文地址:https://www.cnblogs.com/hwli/p/9831114.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!