#include "stdio.h" struct DEMO { char x; int (*func)(int x,int y); //函数指针 }; int add2(int x,int y) { return x+y; } int dec2(int x,int y) { return x-y; } struct DEMO demo[2] = { {1,add2}, {2,dec2} }; int main(void) { printf("func%d=%d/n",demo[0].x,demo[0].func(4,3)); printf("func%d=%d/n",demo[1].x,demo[1].func(4,3)); return 0; } 执行结果: