関数本体
"関数本体" は、関数が何を行うかを指定するステートメントを含む複合ステートメントです。
構文
function-definition
=
declaration-specifiers
opt attribute-seq
opt declarator
declaration-list
opt compound-statement
/* attribute-seq
は Microsoft 固有の仕様です */
compound-statement
: /* 関数本体 */
{
declaration-list
opt statement-list
opt }
関数本体で宣言された変数 ("ローカル変数") は、他の指定がない限り、auto
ストレージ クラスになります。 関数が呼び出されると、ローカル変数のストレージが作成され、ローカルの初期化が実行されます。 実行制御は、compound-statement
の最初のステートメントに渡され、return
ステートメントが実行されるか、関数本体の終端に到達するまで続行されます。 次に、関数が呼び出された位置に制御が戻ります。
関数が値を返す場合は、式を含む return
ステートメントを実行する必要があります。 return
ステートメントが実行されない場合、または return
ステートメントに式が含まれない場合、関数の戻り値は未定義です。