6.4関数のプロトタイプ宣言


   関数の値は、特に宣言しなければ、int型とみなされます。実数型や、ポインタ型などのint型以外の値を返す関数は、その関数を使用する前(呼び出す前)に必ず宣言しなければなりません。
   また、ANCI Cではその際に関数の引数の型についても宣言するように勧めています。このように、関数の使用に先立って、関数の型と引数の型を宣言したものを関数プロトタイプ宣言と呼びます。

  関数のプロトタイプ宣言がなされている場合は、もし関数呼び出し時に、引数の型に誤りがあるとコンパイラがエラーメッセージを出してくれます。関数定義部を関数呼び出し以前に置けば、関数プロトタイプ宣言をしなくても同等の効果が得られます。この方法は、関数の数が少ないときには有効ですが、定義する関数の数が多いときには、すべての関数のプロトタイプ宣言をプログラムの先頭にまとめて書くのが実用的です。


 

「呼び出す関数内で宣言」
main( )
{
     ..............
    int add(int,int);        /*  add関数のプロトタイプ宣言 */
     ..............
    int add(a,b);          /*  add関数の呼び出し */
     ..............
}
int add(int a,int b)
{
  return(a+b);
}

 

「プログラムの先頭で宣言」
int add(int,int);       /*  プロトタイプ宣言 */
main( )
{
    ................
   int add(a,b);         /*   関数呼び出し */
    ...............
}
int add(int a,int b)
{
return(a+b);
}

 

「関数宣言を省略できる場合」
int add(int a,int b)       /*   呼び出されるより前の位置で関数を定義 */
{
   return(a+b);
}
main( )
{
    ..............
  add(a,b);                    /*  関数呼び出し */
    ...............
}

 


「もくじへ」