6.2  関数の構造


関数は、呼び出し元からデータを受け取り、仕事を行いその結果を呼び出し元に返します。

                   ・
                     ・
       関数名(実引数,実引数,・・・・・・・)
              /*  関数の呼び出し  */
                  
                     ・
       型  関数名  ( 型 仮引数 , 型   仮引数 , ・・・・)
       /*  関数の定義   */
     {   
                 ・
                 ・
          return( 式 );             
/* 戻り値の指定 */
      }

   関数は値を返すという性質を持っているので、その関数がどのような型のデータを返すものなのかを関数の型として明確に宣言しなければなりません。return( 式 )の式の値が関数の戻り値として呼び出し元に返されます。したがって、式の値と関数の値は一致していなければなりません

   呼び出し元と関数との間でデータのやり取りを行うには、引数(ひきすう)というものを用います。呼び出し側で指定するものを実引数(じつひきすう)、呼び出された方の関数定義側で指定する引数を仮引数(かりひきすう)と呼びます。仮引数は関数定義部においてその型を宣言しておく必要があります。実引数には、定数、変数、式を書けますが、仮引数はデータを受け取る器なので、変数しか書けません。対応する実引数と仮引数は同じ名前を付ける必要はありませんが、型は必ず一致していなければなりません

<2つの整数の和を求めるプログラム>
# include <stdio.h>
int tasizan ( int a, int b )
    /* 和を求める関数の定義、仮引数の型宣言 */
{
   int m ,
   m=a+b ;
  return(m) ;         /*   足し算の結果mを戻り値として、呼び出し元に返す。 */
}

void main( )
{
  int x , y ;
  printf("データを入力して下さい") ;
  scanf("%d %d",&x,&y) ;
  printf("和=%d",tasizan( x , y ) ) ;     /*  関数の呼び出し */
}

 


「もくじへ」