関数

Last-modified: 2007-11-04 (日) 21:09:05

関数とは、値を入れると値が返ってくる処理を行うブラックボックスのようなものです。
関数定義は以下の通りです。

戻り値の型 関数名(引数リスト) { ... }

戻り値

戻り値の型の種類として、
void(VOID)
int(INT)
float(FLOAT)
string(STRING)
bool(BOOL)

や、構造体/クラスオブジェクト、参照オブジェクトなどが扱えます。
voidは何も返さない関数で、それ以外はそれぞれの値を返します。
arrayと関数型は不可能です。
戻り値がvoid以外だと、必ず関数の最後にreturn (値);をつける必要があります。
これはたとえばブロックへ行き、その中から確実にreturnできるとしても、関数の最後にはつける必要があります。
例:

int int_test(void)
{
  for(;;)
  {return 0;}
return 0;//←このreturnが必要
}

引数

引数はその関数でローカル変数を宣言する際、その関数呼び出しの時に値を与えるためのものです。
たとえばグローバル変数を引数に割り当てて、変更させることはできません。


int g_test_int = 1;
void test(g_test_int){}

//【)は構造体オブジェクト名としては無効です】のコンパイルエラー

引数は特に型の指定はありませんが、デフォルト引数には指定があります。

デフォルト引数

関数・メソッド定義の引数に以下のように定数を宣言します。
デフォルト引数に指定できる型は、(const) int,float,stringです。

 引数型 引数名 = 定数

特定引数位置以降の引数を省略するには、【 ) 】を閉じて下さい。
途中の引数を省略するには、【 , 】を書いて下さい。