转移表应用示例
#include <stdio.h>
int add(int ,int );
int sub(int ,int );
//函数指针数组
//按照优先级顺序,[]的优先级大于间接引用符,所以digital开始与[]结合为数组,而后与*结合为指针数组。
int (*digital[2])(int ,int ) = {
add, //调用add的时候用0代替,调用sub的时候用1代替,类似enum枚举的定义方法。
sub
};
int main(void){
printf("%d",digital[0](2,5));
printf("%d",digital[1](2,5));
return 0;
}
int add(int a,int b){
return a+b;
}
int sub(int a,int b){
return a-b;
}