#include <stdio.h> typedef int FuncType(int,int); //函数 typedef FuncType* FuncPointType; //函数指针 typedef FuncPointType ArrType[2]; //函数指针数组 int Add(int a,int b) { return a + b; } int Sub(int a,int b) { return a - b; } int main(void) { FuncPointType arr[2] = {Add,Sub}; printf ("result = %d ",arr[1](3,4)); ArrType* pa = &arr; /* pa = &arr; *pa = *&arr; *pa = arr arr[0] = *(*pa+0); */ printf ("result = %d ",(*(*pa+0))(5,6)); //等价于arr[0](5,6) return 0; }