回答編集履歴

2

回答に追記

2020/06/03 23:45

投稿

y_waiwai
y_waiwai

スコア88042

test CHANGED
@@ -27,3 +27,15 @@
27
27
 
28
28
 
29
29
  p はこのループ中で変化しないけど、これでいいんでしょうか
30
+
31
+
32
+
33
+ > free(new);
34
+
35
+
36
+
37
+ 最初にmallocされた領域は開放されません
38
+
39
+
40
+
41
+ で、質問のエラーですが、原因は他の場所にあるため、コードの一部分だけ提示されても回答できません。

1

回答に追記

2020/06/03 23:45

投稿

y_waiwai
y_waiwai

スコア88042

test CHANGED
@@ -13,3 +13,17 @@
13
13
 
14
14
 
15
15
  最初のmallocの結果が捨てられてますね
16
+
17
+
18
+
19
+ >
20
+
21
+ for (int i=0;p->next==NULL;i++){
22
+
23
+ printf("%d...%d/%p",i,p->value,p->next);
24
+
25
+ }
26
+
27
+
28
+
29
+ p はこのループ中で変化しないけど、これでいいんでしょうか