Return文
CおよびC++において、return文とは、関数を実行した結果や、その処理が成功したかどうか等を示すデータを呼び出し元に渡すとともに、関数を終了させ呼び出し側に制御を戻す働きを持つ文である。return文によって関数の呼び出し元にデータを渡すことを、値を返すと言う。
return文によって返される値の型は、関数の定義時やプロトタイプ宣言時に指定する。例えば、
という宣言は、関数 f() が int 型の値を返すことを表す。
return文の形式は
または
のいずれかでなければならない。return文に式が伴う場合、その式の評価結果がreturn文の戻り値となる。この式は構文上省略可能であるが、意味解析の段階において、C99及びC++98では、戻り値の型がvoid(値を返さない)と定義されている場合を除いて式の省略はできない(C++では挙動が不定)と定められている(X3010 105頁 6.8.6.4、79頁6.6.3 2節参照)。
return文の式では、その式の結果の型が関数の戻り値の型へ暗黙的に変換できなければならない(X3010 105頁 6.8.6.4、79頁6.6.3 2節参照)。
return文に遭遇しないまま関数の終わりまでプログラムが実行された場合、そこに式を省略した return; が行われたと見なされる。