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)只是一个指针,变量指针是指向一个变量的地址,结构体指针是指向一个结构体的首地址,而函数指针是指向一个函数的地址,它是一种类型,比int,char高级的类型。
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 }