函数指针和指针函数的区别
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 }
以上是关于函数指针和指针函数的区别的主要内容,如果未能解决你的问题,请参考以下文章