詳しい方が多いようなので聞いてください
C言語のリスト構造について僕は疑問があります。
リスト構造の結果をVCのウィンドウで表示してます
struct list{
int b;
char *str;
*next;
}
この構造体をリスト構造に組み込みました。
*strには、メモリ確保した文字列+ヌル文字が入ってます。
struct list *p;
簡略。メモリにリストを作成
p = head;
while(p != NULL){
簡略
p->next =p;
}
で結果表示させます。入力数10、表示結果は10個の数字、文字列がでました。
ここから質問なのですが、結果を表示させ、プログラムを終了させず、また同じポインタに別の10個のリストを作成し、同じリスト構造に入れました。
p = head;
while(p != NULL){
簡略
p=p->next;
で、また結果を表示。入力10、表示結果は10個の数字。
この後、メモリを開放した場合、僕は使用した20個のメモリ解放すると考えてました。
ですが、結果、開放したのは10個のメモリでした。メモリリークしてないかデバッグしましたがリークしてませんでした。
前部の10個のメモリ部分と、確保した文字列部分のメモリはどうなったのでしょうか?動作が分かる方よろしくお願いします。