深入探索函数相关高级特性
1. 函数指针数组
函数指针本质上也是一种变量,因此可以创建函数指针数组。声明函数指针数组时,只需在函数指针数组名后面加上数组维度即可,例如:
int (*pfunctions[10]) (int);
这行代码声明了一个名为 pfunctions
的数组,它包含十个元素。数组中的每个元素都可以存储一个返回类型为 int
且参数类型为 int
的函数的地址。
下面通过一个示例来展示函数指针数组的使用:
// Program 9.2 Arrays of Pointers to functions
#include <stdio.h>
// Function prototypes
int sum(int, int);
int product(int, int);
int difference(int, int);
int main(void)
{
int a = 10; // Initial value for a
int b = 5; // Initial value for b
int result = 0; // Storage for results
int (*pfun[3])(int, int); //