
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
電子書籍プレゼントキャンペーン!
最大2万円超分当たる!マンガや小説が読める電子書籍サービス『Renta!』で利用できるギフトコードプレゼント実施中!
-
C#で構造体の配列を持った構造体を使いたいのですが
C言語・C++・C#
-
構造体のメンバをfor文で回したい
C言語・C++・C#
-
バッファとは何ですか
C言語・C++・C#
-
4
【gcc・cygwin】multiple definitionエラーの解決法
C言語・C++・C#
-
5
Enterキーを押されたら次の処理に移るという事をしたい。
C言語・C++・C#
-
6
C言語のポインターに関する警告
C言語・C++・C#
-
7
C言語で構造体のメンバを簡単に出力する方法ありますか?
C言語・C++・C#
-
8
文字列の切り出し
C言語・C++・C#
-
9
C言語 exitの使い方
C言語・C++・C#
-
10
バイナリファイルをテキストファイルに変換する方法を教えて頂けませんか。
C言語・C++・C#
-
11
構造体に決められた文字列を入れる方法
C言語・C++・C#
-
12
0xffffとは?
C言語・C++・C#
-
13
#defineの定数を文字列として読み込む
C言語・C++・C#
-
14
ポインター引数の関数でコンパイルエラーが出る。
C言語・C++・C#
-
15
DWORDの実際の型は何でしょうか
C言語・C++・C#
-
16
構造体の宣言でエラーが出ます。
C言語・C++・C#
-
17
nullと"、\\0とEOFの違いについて。
C言語・C++・C#
-
18
charと%c , %s の関係について
C言語・C++・C#
-
19
C++言語で、構造体のコピーは可能(しても良い)のでしょうか?
C言語・C++・C#
-
20
構造体のextern方法
C言語・C++・C#
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
セグメントエラー
-
5
Formにエディットボックスを貼...
-
6
Run-Time Check Failure #3とい...
-
7
init関数の意味
-
8
ポインタ同士の割り算
-
9
C言語初心者 ポインタについて...
-
10
C言語初心者 構造体 課題について
-
11
C言語 配列の長さの上限
-
12
Integer変数をカラにしたいので...
-
13
【速いブラインドタッチ】手を...
-
14
define で 配列
-
15
VBAのプログラムで、DIAG = 1# ...
-
16
構造体のポインタにNULLが入らない
-
17
GTKプログラミングで型宣言する...
-
18
構造体のextern方法
-
19
VB.NETでファイル名順にファイ...
-
20
100の階乗のプログラムって
おすすめ情報
公式facebook
公式twitter