回答編集履歴
1
加筆
test
CHANGED
@@ -2,12 +2,22 @@
|
|
2
2
|
|
3
3
|
while (p != NULL) { // 次ポインタがNULLまで処理
|
4
4
|
|
5
|
-
p2 = p->next; // freeの前にnextが指す
|
5
|
+
p2 = p->next; // freeの前にnextが指す場所をとっといて
|
6
6
|
|
7
|
-
free(p);
|
7
|
+
free(p); // (pをfreeするとp->nextが読めない。アブナイトコダッター)
|
8
8
|
|
9
|
-
p = p2;
|
9
|
+
p = p2; // んでもって無事次の要素を辿ることができるね♪
|
10
10
|
|
11
11
|
}
|
12
12
|
|
13
13
|
```
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
> 普通openしたファイルを閉じるときにfree()関数でメモリを開放すると認識している
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
ファイルはfopenで開けてfcloseで閉じる。
|
22
|
+
|
23
|
+
メモリはmallocで獲得しfreeで開放する。
|