现在为大家介绍一下“C语言中的函数指针学习笔记”的完整攻略。
什么是函数指针?
函数指针(Function Pointer)是指向函数的指针变量,也就是说,函数指针指向函数的入口地址。
函数指针的定义
函数指针的定义格式如下:
typedef int (*func_ptr)(int, int); // func_ptr是一个函数指针类型
上面代码定义了一个名为func_ptr
的函数指针类型,它所指向的函数返回值类型为int
,有两个整型参数。
函数指针的使用
函数指针的使用步骤如下:
- 定义函数指针变量;
- 将函数名赋给函数指针变量;
- 通过函数指针变量调用函数。
示例一:
#include <stdio.h>
int add(int a, int b)
{
return a + b;
}
int main()
{
int (*p)(int, int); // 定义函数指针变量
p = add; // 将函数名赋给函数指针变量
int sum = p(3, 5); // 通过函数指针变量调用函数
printf("%d\n", sum);
return 0;
}
示例二:
#include <stdio.h>
int add(int a, int b)
{
return a + b;
}
int subtract(int a, int b)
{
return a - b;
}
int operation(int a, int b, int (*p)(int, int))
{
return p(a, b);
}
int main()
{
int a = 3, b = 5;
int sum = operation(a, b, add);
int diff = operation(a, b, subtract);
printf("sum = %d\ndiff = %d\n", sum, diff);
return 0;
}
在示例一中,我们定义了一个函数指针变量p
,并将add
函数的地址赋给它,接着通过p
调用了add
函数,输出结果为8
。
在示例二中,我们定义了两个函数add
和subtract
,以及一个函数operation
,这个函数接受两个整型参数和一个函数指针参数,用函数指针参数调用相应的函数,并返回函数执行的结果。在main
函数中,我们调用了operation
函数两次,分别传入了add
和subtract
函数的地址,输出结果为:
sum = 8
diff = -2
这就是函数指针的基本用法。
希望以上内容能够对大家有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言中的函数指针学习笔记 - Python技术站