溫馨提示×

C語言函數(shù)指針怎么使用

小億
121
2023-08-01 17:04:24
欄目: 編程語言

C語言中的函數(shù)指針可以用來存儲函數(shù)的地址,并且可以像普通函數(shù)一樣調(diào)用函數(shù)。

以下是函數(shù)指針的基本使用方法:

  1. 聲明函數(shù)指針變量:
returnType (*pointerName)(parameterType);

例如:

int (*add)(int, int);  // 聲明一個指向返回值為int,參數(shù)為兩個int的函數(shù)的指針變量add
  1. 將函數(shù)的地址賦給函數(shù)指針變量:
pointerName = &functionName;

例如:

add = ∑  // 將函數(shù)sum的地址賦給函數(shù)指針變量add
  1. 通過函數(shù)指針調(diào)用函數(shù):
returnType result = pointerName(arguments);

例如:

int result = add(1, 2);  // 調(diào)用函數(shù)指針變量add所指向的函數(shù),并傳遞參數(shù)1和2

完整示例代碼如下:

#include <stdio.h>
int sum(int a, int b) {
return a + b;
}
int main() {
int (*add)(int, int);  // 聲明一個指向返回值為int,參數(shù)為兩個int的函數(shù)的指針變量add
add = &sum;  // 將函數(shù)sum的地址賦給函數(shù)指針變量add
int result = add(1, 2);  // 調(diào)用函數(shù)指針變量add所指向的函數(shù),并傳遞參數(shù)1和2
printf("Result: %d\n", result);  // 輸出結(jié)果:Result: 3
return 0;
}

注意:函數(shù)指針的類型必須與所指向的函數(shù)的類型保持一致,即返回值類型和參數(shù)類型必須一致。在聲明函數(shù)指針變量時,需要注意使用小括號將*pointerName括起來,以區(qū)分指針變量和普通函數(shù)的聲明。

0