関数でリンクされたリストを作成しました。プログラムの残りの部分では、ポインターを使用してリストにアクセスしています。では、プログラムの最後でこの連結リストを解放するにはどうすればよいでしょうか? 単純に使用するfree(CircuitData)
か、それとも各ノードを解放するリストを実行する必要がありますか? これを書いている私は、各ノードを解放することが明らかな答えだと思っています...
余談ですが、プログラム中に割り当てられたすべてのメモリが適切に解放されているかどうかを確認する方法もお尋ねしたいと思いますか?
ListNodeType *CircuitData;
CircuitData = NULL;
ReadFile(&CircuitData, &numEl, &numNodes);
void ReadFile(ListNodeType **CircuitData, int *numEl, int *numNodes){
ListNodeType *newPtr, *tempPtr;
newPtr = malloc(sizeof(ListNodeType));
*CircuitData = newPtr;
newPtr->nextPtr = NULL;
//MORE CODE