1. 程式人生 > >函式指標和指標函式的區別

函式指標和指標函式的區別

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 }