函数指针是一种指向函数的变量,存储函数地址,可间接调用该函数。声明时需指定函数指针指向的函数类型和名称;初始化时使用函数地址赋值给函数指针;调用时使用解引用运算符和参数调用函数指针指向的函数。
C 语言中调用函数指针
什么是函数指针?
函数指针是一个指向函数的变量,它存储了一个函数的地址,可以用来间接调用该函数。
如何声明函数指针?
格式:
returnType (*functionPointerName)(parameterType1, parameterType2, ...);
其中:
- returnType 是函数指针指向的函数的返回类型。
- functionPointerName 是函数指针的名称。
- parameterType1、parameterType2 等是函数指针指向的函数的参数类型。
如何初始化函数指针?
使用函数地址:
functionPointerName = &functionName;
其中:
- functionPointerName 是函数指针。
- functionName 是要赋给函数指针的函数的名称。
如何调用函数指针?
使用解引用运算符 *:
(*functionPointerName)(arguments);
其中:
- functionPointerName 是函数指针。
- arguments 是要传递给函数指针指向的函数的参数。
示例
以下示例展示了如何声明、初始化和调用函数指针:
// 声明一个指向返回 int 的函数,参数为两个 int
int (*sumFunction)(int, int);
// 初始化 sumFunction 指针以指向 sum 函数
sumFunction = ∑
// 调用 sumFunction 指针,传递两个 int 参数
int result = (*sumFunction)(10, 20);
// sum 函数的定义
int sum(int a, int b) {
return a + b;
}
在该示例中,sumFunction 指针指向 sum 函数,通过解引用 sumFunction 指针并传递适当的参数,可以调用 sum 函数。