函式指標:
type (*name)(parameter types)
呼叫: name(parameter)
函式指標陣列:
type (*name)(parameter types) = ;
使用函式指標陣列簡化程式——分手信自動生成器:
#include enum response_type ;
typedef struct response;
void dump (response r)
void second_chance(response r)
void marriage(response r)
// function pointer array
void (*replies)(response) = ;
int main() , ,
, }; int i;
for(i=0; i<4; i++)(replies[r[i].type])(r[i]);}
程式中本來需要使用 switch 語句對列舉型別進行判斷後才能呼叫函式,但是這裡用函式指標陣列不需要判斷,直接呼叫了對應的函式。
Head First C (前半部分)讀書筆記
記錄一些之前沒有注意到的小細節。char ex 20 scanf 19s ex scanf 用於吸收結構化字串,19s可以防止陣列越界,不吸收回車。fgets ex,sizeof ex stdin fgets 用於吸收非結構化字串,sizeof ex 是吸收的字串的總長度,包括 0 這裡為20,吸收...
讀書筆記(二)
使用數學函式的時候,大多數需要包含標頭檔案,但是也有特例,例如處理整型數的函式abs函式被包含在標頭檔案中 三角函式和反三角函式,都以弧度為引數,而不是以角度為引數。更加詳細的數學函式可以參考c mathematical functions。維基百科 strcpy strcat函式會改變傳入的字串的...
讀書筆記二
複審 即看 是否在 規範 的框架內正確地解決了問題。形式有 自我複審 同伴複審 團隊複審。目的是 1 找出 錯誤 2 發現邏輯錯誤 3 發現演算法錯誤 4 發現潛在的錯誤和回歸性錯誤 5 發現可能需要改進的地方 6 教育 互相教育 開發人員,傳授經驗,讓更多的成員熟悉專案各部分的 同時熟悉和應用領域...