C語言指針函數的調用與普通函數的調用相似,只需在函數名前加上*表示該函數返回一個指針類型的值。調用指針函數的步驟如下:
以下是一個示例代碼,演示了如何調用指針函數:
#include <stdio.h>
int* max(int* a, int* b) {
return (*a > *b) ? a : b;
}
int main() {
int x = 10, y = 20;
int* result;
// 聲明函數指針變量,指向返回類型為int*,參數類型為int*的函數
int* (*p)(int*, int*);
// 將指針函數的地址賦值給函數指針變量
p = max;
// 使用函數指針變量調用函數
result = p(&x, &y);
printf("較大的數是:%d\n", *result);
return 0;
}
上述代碼中,max
函數返回兩個整數中較大的數的指針。在main
函數中,我們聲明了一個函數指針變量p
,并將max
函數的地址賦值給它。然后,使用p
進行函數調用,將得到的結果賦值給result
變量,并輸出結果。