函数指针数组:把一个函数的地址(地址即指针)存放到数组中
举例:
#include <stdio.h>
#include <stdlib.h>
int Add(int x,int y){
?return x+y;
}
int Sub(int x,int y){
?return x-y;
}
int Mul(int x,int y){
?return x*y;
}
int Div(int x,int y){
?return x/y;
}
int main()
{
? ? //int *arr[5];//指针数组
?
int* | int* | int* | int* | int* | int* |
? ? //现需要一个数组可以存发四个函数的地址--函数指针数组
? ? //先学会存放一个函数地址
? ? //int (*pa)(int,int)=Add/Sub/Mul/Div
?int:返回类型
(int,int):返回参数
pa:函数名
*pa:指针类型
? ? //怎样把4个函数地址放入同一个数组中
*parr[4]:指针类型的数组
? ? int (*parr[4])(int,int)={Add,Sub,Mul,Div};
? ? int i=0;
? ? for(i=0;i<4;i++){
? ? ? ? printf("%d\n",parr[i](2,3));
? ? }
? ? return 0;
}
原文:https://blog.51cto.com/u_15277368/2939722