
こんにちわ
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でダブルコーテーション入り...
-
C言語
-
valueChanged の引数について
-
C言語 初心者です。
-
C言語 アロー演算子について質...
-
エラーの意味は? Lvalue req...
-
javascript の?について
-
VBAでコピー後のペーストご相談...
-
コマンド実行結果を変数に代入...
-
R言語について
-
C言語でのプログラミングの問...
-
C言語についての質問です。
-
多次元配列について質問
-
画像のプログラムに関して質問...
-
EXCEL/VBA 変数の値をクリップ...
-
Excel VBA Forの使い方について...
-
ファイル名について
-
tomcat7 web.xml のエンコード
-
VisualStudio2022でC言語プログ...
-
Windows11のカメラで動画を撮り...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでダブルコーテーション入り...
-
エラーの意味は? Lvalue req...
-
EXCEL/VBA 変数の値をクリップ...
-
jsp~jspにhiddenを使って変数...
-
整数xxxが大き過ぎますというエ...
-
C言語 アロー演算子について質...
-
[VBS]変数を定数に変換する方法...
-
Variant型で宣言してるのにEmpt...
-
テキストボックスの値を変数に...
-
processing エラーで、 "cannot...
-
Accessコンボボックスにレコー...
-
DataTableの値を変数に代入したい
-
条件演算子 ? :
-
インクリメント演算子の前置(+...
-
プログラミングで変数と関数の...
-
gridViewの行選択解除
-
無名関数のメリットがよくわか...
-
stdpicture型の変数に、、
-
論理演算子について
-
COBOLの変数
おすすめ情報