我有一個在c中使用malloc分配內存多次的算法。我想寫一個函數,當程序全部完成時釋放內存,但我不確定如何構造它。難道只是多次撥打free()
?我對C和內存分配比較陌生,所以任何幫助都將不勝感激。C內存分配問題
計劃:
typedef struct State State;
typedef struct Suffix Suffix;
struct State { /* prefix + suffix list */
char* pref[NPREF]; /* prefix words */
Suffix* suf; /* list of suffixes */
State* next; /* next in hash table */
};
struct Suffix { /* list of suffixes */
char * word; /* suffix */
Suffix* next; /* next in list of suffixes */
};
我會建議只包含相關的代碼片段 – Levi
標準警告:請[不要轉換](http://stackoverflow.com/q/605845/2173917)'malloc()'和家族的返回值'C'。 –
「清晰記憶」是什麼意思?替換爲零?是什麼原因? –