回答編集履歴

1

他の問題点も追加

2021/01/13 22:12

投稿

ppaul
ppaul

スコア24670

test CHANGED
@@ -1,4 +1,14 @@
1
+ 最初に
2
+
3
+ ```C
4
+
1
- この部分を実行すると
5
+ current = head;
6
+
7
+
8
+
9
+ ```
10
+
11
+ ここでheadがNULLでないことを確認していないのはなぜなのでしょう?
2
12
 
3
13
 
4
14
 
@@ -24,4 +34,26 @@
24
34
 
25
35
  ```
26
36
 
27
- をやって、addressが0番地の1000バイト先に入っているデータをアドレスだと思ってそこにアクセスに行き、その1008バイト目に書き込むので、確実にsigsegvが起きます。
37
+ をやって、addressが0番地の1000バイト先に入っているデータをアドレスだと思ってそこにアクセスに行き、その1008バイト目に書き込むので、確実にセグメンテーションフォールトが起きます。
38
+
39
+
40
+
41
+ positionが1でない場合はその下に行きますが、なぜかpositionは使わずに消していますね。
42
+
43
+
44
+
45
+ ```C
46
+
47
+ if(current !=NULL)//それ以外の場合
48
+
49
+ {
50
+
51
+ current->previous->next = current->next;
52
+
53
+ current->next->previous =current->previous;
54
+
55
+ free(current);
56
+
57
+ }
58
+
59
+ ```