質問編集履歴
2
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -59,3 +59,33 @@
|
|
59
59
|
質問を追加させてください。
|
60
60
|
|
61
61
|
グローバル変数は0で初期化されるのは分かりました。ただ、グローバルで定義したheadはNULLを指しているのですよね。それであればで先頭セルへの挿入は場合分けしなくても`new_cell->next = head`とすることで、`new_cell->next = NULL`にはなるのではないかと考えましたが、実際ダメみたいでした。場合分けして、わざわざ`new_cell->next = NULL;`とする必要がある理由説明していただきたいです。
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
---------------------------------------------------------------
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
以下の先頭セルの挿入する関数を以下のようにしたとき、動かずに質問していたのですが、今はなぜか場合分けせずとも動くようになっていました。この関数以外の他の場所が間違えていて動いていなかったかもしれません。
|
72
|
+
|
73
|
+
```C
|
74
|
+
|
75
|
+
void insert_cell_top(int d){
|
76
|
+
|
77
|
+
CELL *new_cell;
|
78
|
+
|
79
|
+
new_cell = (CELL *)malloc(sizeof(CELL)); // 新しいセルnew_cell の作成
|
80
|
+
|
81
|
+
new_cell->data = d; // new_cell のデータ部= d
|
82
|
+
|
83
|
+
new_cell->next = head; // new_cell のポインタ部= head が指すセルのポインタ部
|
84
|
+
|
85
|
+
head = new_cell; // new_cellを先頭セルへ
|
86
|
+
|
87
|
+
}
|
88
|
+
|
89
|
+
```
|
90
|
+
|
91
|
+
解答してくれた方々、ありがとうございました。
|
1
質問の追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -51,3 +51,11 @@
|
|
51
51
|
|
52
52
|
|
53
53
|
headとセルの->nextは同じポインタなのに、どうしてheadの初期値はNULLで、セルの->nextはランダムになっているのでしょうか?教えていただきたいです。
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
質問を追加させてください。
|
60
|
+
|
61
|
+
グローバル変数は0で初期化されるのは分かりました。ただ、グローバルで定義したheadはNULLを指しているのですよね。それであればで先頭セルへの挿入は場合分けしなくても`new_cell->next = head`とすることで、`new_cell->next = NULL`にはなるのではないかと考えましたが、実際ダメみたいでした。場合分けして、わざわざ`new_cell->next = NULL;`とする必要がある理由説明していただきたいです。
|