未定義動作とは
みていぎどうさ
C言語やC++の規格が、結果について何も要求していない動作。符号付き整数のオーバーフロー、配列の範囲外の読み書き、NULL ポインタの参照、解放した領域の使用、負の値の左シフトなどが当てはまる。コンパイラは正しいプログラムでは未定義動作が起きないと仮定して最適化してよいので、たまたま期待どおりに動くこともあれば、最適化の設定によって判定が消えるなど、予想しない結果になることもある。処理系が決めて文書に書く「処理系定義の動作」とは区別される。
「未定義動作」は、2分野の10問の練習問題に出てきます(C言語の基礎, コンパイラなど)。
この用語の分野: C言語の基礎