對于大型項目來說,struct的使用會使整個代碼更加簡約,閱讀起來和寫起來都更加簡便,以后就要多嘗試這種用法了。下面是一個簡單例子,可以參考一下。
#include <stdio.h>#include <stdlib.h>int fun(int flag,int size);int add(int a,int b);int multi(int a, int b);int max(int a,int b);int min(int a, int b);//聲明結構體struct function { int flag;//定義標志 int (*func)(int a, int b);//定義函數指針};//設置結構體buf對應flag值,函數struct function buf[] = { {0x80,add}, {0x81,multi}, {0x82,max}, {0x83,min}};int add(int a,int b){ return a+b;}int multi(int a, int b){ return a*b;}int max(int a,int b){ return a > b ? a : b;}int min(int a, int b){ return a < b ? a : b;}//函數,輸入flag值,buf大小,由flag值獲得對應函數進行計算int fun(int flag,int size){ int result; int i; for(i = 0 ; i < size ; i++) { if(flag == buf[i].flag) { result = buf[i].func(3,5); } } return result;}int main(){ int addnumber,mulnumber,maxnumber,minnumber; addnumber = fun(0x80,4);新聞熱點
疑難解答