
No.4ベストアンサー
- 回答日時:
★構造体の中の構造体とは。
・構造体Aに構造体Bや構造体Cが入っていても普通の変数と同じに解釈すれば良いです。
例えば
// 構造体A
typedef struct tagA_t {
int a;
} tagA;
// 構造体B
typedef struct tagB_t {
int b;
} tagB;
// 構造体C(AとBを含む)
typedef struct tagC_t {
tagA A;
tagB B;
int c;
} tagC;
・この場合は構造体Cに構造体Aと構造体Bが入れ子として入っています。
『tagC CC;』と宣言すると
『int CC.A.a』とか
『int CC.B.b』というアクセスが出来ます。
本題:
・今回は構造体の中に自分自身の『構造体ポインタ』が入っています。
これは『自己参照構造体』と呼ばれ『単方向リスト』、『双方向リスト』、『二文木』とかで
データを管理できる構造を持っています。
・質問では『next』ポインタが1つですので『単方向リスト』を構成する構造体でしょう。
他の回答者さんと同じですが『鎖』のように次々に『next』ポインタで繋げるのです。
アクセス方法は
Num a; // Num 構造体の実体
Num *pa; // Num 構造体のポインタ
pa = &a; // pa に a ポインタをセット
pa->x = 123;
pa->next;
↑
ここまでは分かりますよね。
・もし next に2つ3つの構造体 Num がポインタで繋がれている状態ならば
pa->next->x = 456;
とか
pa->next->next->x = 789;
としてもアクセス(代入,参照)できます。
※詳しくは下の『参考URL』をどうぞ。
・以上。
参考URL:http://www9.plala.or.jp/sgwr-t/c/sec15-5.html,ht …
No.3
- 回答日時:
人と人とが手をつなぐイメージかな。
(人=構造体)ポインタは次の人(もしくは前の人)と手をつなぐための手(ハンドル)です。
nextは、次の人へ。
prevは、前の人へ。(質問者さんの例にはないですが。)
データをくさり状につないでおくと、いろいろ処理がやりやすくなります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# プログラムが書けません。 4 2023/01/22 22:57
- C言語・C++・C# C言語初心者 構造体 課題について 1 2023/03/10 19:30
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# C言語(構造体) 3 2022/07/05 20:08
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
- C言語・C++・C# leetcode 155 minstack 1 2022/05/07 16:43
- C言語・C++・C# C言語でif文が予想と違う動きをする件について7 4 2023/03/20 00:26
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語のポインタに直接アドレス...
-
ポインタのアドレス範囲
-
fopne で失敗する原因
-
LPSTR型の初期化について
-
init関数の意味
-
単方向リストの解釈
-
参照型で受け取った引数をポイ...
-
リトルエンディアンというもの...
-
IStream / VBA
-
CImage GetBitsメソッドについて
-
VB.NET DLL【API関数(コールバ...
-
パスからファイル名を抽出
-
関数ポインタの利点
-
アプリを32bitから64bit移行
-
c言語で任意のファイルから読み...
-
ExcelVBAでのkernel32(64bit)
-
戻り値で構造体を返すことは可...
-
C++で関数ポインタから関数名を...
-
型変換について
-
gccでMAKEINTRESOURCEするとdif...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語のポインタに直接アドレス...
-
戻り値で構造体を返すことは可...
-
ExcelVBAでのkernel32(64bit)
-
Run-Time Check Failure #3とい...
-
init関数の意味
-
fopne で失敗する原因
-
セグメントエラー
-
参照型で受け取った引数をポイ...
-
LPSTR型の初期化について
-
VC++6.0 MFC ダイアログバーを...
-
ハンドルはポインタか
-
c言語で任意のファイルから読み...
-
【なぜポインタを使うのか】
-
無効なポインタ操作のエラー
-
CImage GetBitsメソッドについて
-
アプリを32bitから64bit移行
-
C++ vectorのbeginについて
-
ポインタについて
-
DLL<->VB間での受け渡し(文字...
-
NULLポインタが0でない処理系と...
おすすめ情報