私の質問は簡単だと思います。はい、スタックオーバーフローに関するリンクリスト/セグメンテーションフォールト関連の質問がいくつかあることは承知していますが、それらは初期化されていないポインターに関係していると思いますが、私の問題は文字列に関連していると思います.
ノード構造が 2 つの変数で構成されるリンク リストがあります。next
ノードへのリンクと (!) astring
です。
私の質問:文字列を ing しmalloc
てセグメンテーション違反を引き起こすことなく、ノードのメモリを解放するにはどうすればよいですか?free()
free()
とに関連する他の質問を閲覧しているうちstrings
に、それらには必要ないという印象を受けましfree()
た。しかし、内部にネストされた文字列struct
を持つ a を解放するにはどうすればよいでしょうか。string
私が実装しているリンクリスト関数はdestroyList()
、関数に渡されたノードの割り当てられたすべてのメモリを後続のすべてのノードとともに解放する以外は機能しているようです。
実装は次のとおりです。
void destroyList(struct listNode *pNode){
if(pNode->next != null){
destroyList(pNode->next);
}
free(pNode);
}
listNode
構造は次のとおりです。
struct listNode{
char addr[MAX_ADDR_LENGTH];
struct listNode *next;
};