admin 管理员组

文章数量: 887021


2023年12月24日发(作者:linux下apache服务器配置)

c语言函数指针的多种赋值方法

在C语言中,函数指针是一种特殊的指针,它存储了一个函数的地址。通过函数指针,我们可以直接调用函数,而不需要知道函数的实际参数和返回类型。

以下是函数指针的多种赋值方法:

1. 直接赋值

int add(int a, int b) {

return a + b;

}

int main() {

int (*fp)(int, int) = add; // 函数指针赋值

int result = fp(2, 3); // 通过函数指针调用函数

printf("%dn", result); // 输出 5

return 0;

}

在上面的代码中,我们定义了一个函数add,它接受两个整数参数并返回它们的和。然后,我们定义了一个函数指针fp,它指向add函数的地址。最后,我们通过fp调用add函数。

2. 使用函数指针作为参数传递

int add(int a, int b) {

return a + b;

}

int main() {

int (*fp)(int, int) = NULL; // 初始化函数指针为NULL

fp = add; // 函数指针赋值

int result = fp(2, 3); // 通过函数指针调用函数

printf("%dn", result); // 输出 5

return 0;

}

在上面的代码中,我们将函数指针作为参数传递给另一个函数。在函数内部,我们将函数指针赋值为add函数的地址,然后通过该函数指针调用add函数。

3. 使用宏定义赋值

#define ADD(a, b) add(a, b) // 宏定义赋值

int main() {

int result = ADD(2, 3); // 通过宏调用函数

printf("%dn", result); // 输出 5

return 0;

}

在上面的代码中,我们使用宏定义将add函数的调用包装起来,并将其命名为ADD。这样,我们就可以通过宏调用函数,而不需要知道函数的实际参数和返回类型。


本文标签: 函数 函数指针 赋值 参数 实际