次の方法で共有


C シーケンス ポイント

連続したシーケンス 「 bet 」オブジェクトの値を式で変更できます。一度だけ指定します。C 言語では次のシーケンス ポイントを定義します :

  • 論理 AND 演算子の左側のオペランド ()。論理 AND 演算子の左側のオペランドは完全に進む前に完全なすべての副作用評価されます。左側のオペランド (0) が false に評価された場合他のオペランドは評価されません。

  • 論理 OR 演算子 (||) の左側のオペランド。論理 OR 演算子の左側のオペランドは完全に進む前に完全なすべての副作用評価されます。左側のオペランドが true と (以外) は評価すると他のオペランドは評価されません。

  • コンマ演算子の左側のオペランド。コンマ演算子の左側のオペランドは完全に進む前に完全なすべての副作用評価されます。コンマ演算子のどちらのオペランドも常に評価されます。関数呼び出しのコンマ演算子が評価の順序が保証されないことに注意してください。

  • 関数呼び出し演算子。関数のすべての引数は関数に入る前に完全なすべての副作用評価されます。引数間の評価の順序は決まっていません。

  • 条件演算子の 1 番目のオペランド。条件演算子の 1 番目のオペランドは完全に進む前に完全なすべての副作用評価されます。

  • 完全な初期化式 (つまり宣言ステートメントで初期化の末尾などの式の一部ではありません) の末尾式。

  • 式ステートメントの式。式ステートメントはセミコロン (;) に続くオプションの式から構成されます。式に副作用に評価されこの評価に従ってシーケンス ポイントがあります。

  • 選択 If (または) switch ステートメントの制御式。式が完全に選択のコードの依存が実行される前に完全なすべての副作用評価されます。

  • while またはのステートメントの制御式。式は完全に while またはのループの次の反復処理のどのステートメントが実行される前に完全なすべての副作用評価されます。

  • For のステートメントの 3 種類の式します。式は完全に For のループの次の反復処理のどのステートメントが実行される前に完全なすべての副作用評価されます。

  • return のステートメントの式。式は完全に呼び出し元の関数に制御を返す前に完全なすべての副作用評価されます。

参照

概念

式の評価 (c)