関数本体

"関数本体" は、関数が何を行うかを指定するステートメントを含む複合ステートメントです。

構文

function-definition:
    declaration-specifiersoptattribute-seqoptdeclaratordeclaration-listoptcompound-statement

/* attribute-seq は Microsoft 固有の仕様です */

compound-statement: /* 関数本体 */
    {declaration-listoptstatement-listopt}

関数本体で宣言された変数 ("ローカル変数") は、他の指定がない限り、auto ストレージ クラスになります。 関数が呼び出されると、ローカル変数のストレージが作成され、ローカルの初期化が実行されます。 実行制御は、compound-statement の最初のステートメントに渡され、return ステートメントが実行されるか、関数本体の終端に到達するまで続行されます。 次に、関数が呼び出された位置に制御が戻ります。

関数が値を返す場合は、式を含む return ステートメントを実行する必要があります。 関数の戻り値は、return ステートメントが実行されていない場合、または return ステートメントが式を含まない場合は未定義です。

関連項目

C 関数の定義