関数の定義と宣言の違い

1158 ワード

C言語コンパイルシステムは上から下へコンパイルする.一般的に被変調関数を主変調関数の後ろに置くと、前に宣言がある.そうでないと、Cは上から下へのコンパイルシステムで認識できません.変数を先に宣言して使用する必要があるように、関数も呼び出される前に宣言する必要があります.そうしないと呼び出せません.関数の宣言は定義から分離できます.1つの関数は1回しか定義できませんが、複数回宣言できます.
関数宣言は、関数戻りタイプ、関数名、およびパラメータリストから構成されます.パラメータリストには、パラメータタイプを含める必要がありますが、パラメータに名前を付ける必要はありません.この3つの要素は関数プロトタイプと呼ばれ,関数プロトタイプは関数のインタフェースを記述する.関数を定義するプログラマは関数のプロトタイプを提供し、関数を使用するプログラマは関数のプロトタイプを編集するだけです.【返却タイプ】関数名(パラメータ1タイプパラメータ1、パラメータ2タイプパラメータ2、…)
int fun (int a, int b);

関数宣言のパラメータ名は無視されがちですが、宣言にパラメータの名前が指定されている場合は、補助ドキュメントとしてのみ使用されます.また、関数宣言は文であり、後にセミコロンを漏らさないように注意してください.
関数定義:【戻りタイプ】関数名(パラメータタイプ1パラメータ名1,・・・,パラメータタイプnパラメータ名n){関数体・・・}
int fun(int a,int b)
{ 
  int c;
  c=a+b;
  return c;
 }

宣言と定義の違い:
関数の宣言は関数の定義形式とよく似ているが,両者には本質的な違いがある.宣言はメモリを開かず、宣言する部分が存在することをコンパイラに伝え、少しスペースを残します.定義にはメモリを開く必要があります.関数の定義1.関数の定義は、関数タイプ、関数名、パラメータおよびパラメータタイプ、関数体などを含む完全な関数ユニットです.2.プログラムにおいて、関数の定義は1回のみである.関数の先頭とカッコの間にセミコロンを付けない関数の宣言1.関数宣言は、コンパイルシステムの説明にすぎません.定義された関数の戻り値のタイプを説明し、この関数で呼び出された関数がどのタイプであるかをシステムに通知します.2.関数体(またはパラメータ)3を含まない.この関数を何回か呼び出すには、各プライマリ・コール関数で対応する宣言を行う必要があります.関数宣言は説明文であり、セミコロンで終わる必要があります.