質問するログイン新規登録

質問編集履歴

1

ポインタ同士の代入に関しては解決

2025/07/25 07:59

投稿

takuchan111
takuchan111

スコア2

title CHANGED
File without changes
body CHANGED
@@ -2,7 +2,8 @@
2
2
 
3
3
  C言語のポインタのポインタに関して質問です。
4
4
  以下はポインタのポインタを用いて線形リストを作るプログラムです。
5
- 使われている変数を全て書き出してポインタの様子を追ってみたのですが、特に●をつけた部分を考えたときにheadがnewを指してしまい二個目のノードを挿入する際に前に呼び出した時のnewが邪魔になってしまいます。ポインタのポインタの理解といよりは、ポインタのポインタへの代入の動きないような気がしてはいが、どなたか原因が分かる方がいらっゃれば教えていただきたいです
5
+ ポインタの動き方はわかるのですが、ポインタのポインタを使メリットりません。&headを実引数とし渡さないとheadに影響を与えことがきませんが、headは最初のノードを固定で指していればよく、更新の必要性がわかりません
6
+ 結局、ポインタのポインタは何のためにあるのでしょうか。
6
7
 
7
8
 
8
9
  #include <stdio.h>
@@ -22,8 +23,8 @@
22
23
  while(*p!=NULL && (*p)->data<data){
23
24
  p=&((*p)->next);
24
25
  }
25
- new->next=*p; ●
26
+ new->next=*p;
26
- *p=new;
27
+ *p=new;
27
28
  }
28
29
 
29
30
  int main(){