関数パラメータの評価順序
C および C では、関数パラメータが評価される順序は言語標準によって指定されていません。
評価Order
C99 標準に従って、パラメーターの評価順序は指定されていません。ただし、実際の関数呼び出しの前にシーケンス ポイントがあります。これは、すべてのパラメーターの評価が関数の実行前に完了することが保証されていることを意味します。
C では、引数の評価の順序も指定されていません。すべての引数式の副作用は、関数が入力される前に発生します。
関数呼び出しの実装
C および C 標準では、ハードウェアを使用して関数呼び出しを実装する必要はありません。スタック。これは、コンパイラとプラットフォームに任せられる実装の詳細です。ただし、実際には、最も一般的なアーキテクチャはパラメータの受け渡しにハードウェア スタックを使用します。
矛盾する情報
パラメータの評価順序に関する混乱は、パラメータの評価順序に関する混乱が不完全または不正確な情報から生じる可能性があります。本。言語標準は、このトピックに関する決定的な情報源です。公式の C99 および C11 ドラフト、および公開 C ドラフトはオンラインで入手でき、この問題に関する明確なガイダンスを提供します。
以上がC および C における関数パラメータの評価順序は何によって決まりますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。