こんにちわ
C言語初心者です。
C言語の教科書を見ていたら
双方向リストへの挿入というところで
struct CELL{
struct CELL *prev;
struct CELL *next;
int value;
}
x->prev=p;
x->next=p->next;
p->next->prev=x;
p->next=x;
という記述がありました。
質問はこの部分で
p->next->prev=x;
アロー演算子が2個つくとどうなるんですか?
出来ればこの双方向リストの例でたとえてもらえるとうれしいです。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
複数の演算子が使われている式を計算する場合、
例1) A # B $ C
どの順番で計算を行うかは、演算子の優先順位と結合規則を元に決まります
例2) 優先順位が # < $ なら A # (B $ C)
例3) 優先順位が # > $ なら (A # B) $ C
例4) 優先順位が同じ、結合規則が「右から左」なら A # (B $ C)
例5) 優先順位が同じ、結合規則が「左から右」なら (A # B) $ C
参考) http://msdn.microsoft.com/ja-jp/library/2bxt6kc4 …
ご質問のケースですが、
アロー演算子どうし → 優先順位が同じ、結合規則が「左から右」
ついでにアローと代入 → 優先順位が アロー > 代入
なので、
p->next->prev = x;
↓
(p->next) -> prev = x; // アローは「左から右」
↓
((p->next)->prev) = x; // アロー > 代入
↓
struct CELL* q = p->next;
(q->prev) = x;
意味合い的には、双方向リストの要素 p の次に x を挿入するため、
1. p の次の要素にて
2. 前への参照を
3. x に書き換る
と思われます
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# leetcode21 1 2022/04/21 11:53
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- C言語・C++・C# C言語 leetcode21 Merge Two Sorted Lists 2 2022/04/24 19:35
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) 動きっぱなしです。止め方とプロシージャの間違いを教えて下さい! 5 2022/08/15 23:08
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Visual Basic(VBA) ExcelVBAで、index、match関数を使用して、指定範囲に出力したい 3 2022/10/18 21:53
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでダブルコーテーション入り...
-
エラーの意味は? Lvalue req...
-
jsp~jspにhiddenを使って変数...
-
Variant型で宣言してるのにEmpt...
-
EXCEL/VBA 変数の値をクリップ...
-
[VBS]変数を定数に変換する方法...
-
Pythonで辞書内のValueをfor k,...
-
テキストボックスの値を変数に...
-
VB 2008のSQL文でスペースを削...
-
python の 連鎖代入の文法
-
親ウィンドウの情報をインライ...
-
processing エラーで、 "cannot...
-
変数にオフセットが付いている...
-
VB2008でデリゲートの代わりに...
-
C言語 exitで終了した関数の戻...
-
整数xxxが大き過ぎますというエ...
-
VB.net
-
i++と++i ってどう違うのですか?
-
char型変数
-
vba 最大値 条件分岐
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エラーの意味は? Lvalue req...
-
VBAでダブルコーテーション入り...
-
EXCEL/VBA 変数の値をクリップ...
-
だれがとけるの?
-
C言語 列挙型(enum型)変数について
-
[VBS]変数を定数に変換する方法...
-
jsp~jspにhiddenを使って変数...
-
Variant型で宣言してるのにEmpt...
-
processing エラーで、 "cannot...
-
テキストボックスの値を変数に...
-
整数xxxが大き過ぎますというエ...
-
C言語 アロー演算子について質...
-
i++と++i ってどう違うのですか?
-
数値計算??
-
python の 連鎖代入の文法
-
インクリメント演算子の前置(+...
-
「%」を使って、偶数か奇数かを...
-
【VBA】複合代入演算子
-
VBA 1行で複数の代入を行った...
-
datagridviewに行...
おすすめ情報