関数

関数とは、ある特定の処理をまとめたものです。関数は宣言と定義をして、呼び出すことで使うことができます。動作確認で使用しているprintfも関数になります。

関数の宣言

C言語では関数を使うために、まず宣言をする必要があります。宣言は以下の形式で行います。

戻り値の型 関数名(引数の型 引数名);

関数は値を1つ返すことができます。戻り値にはその返す値の型を指定します。

関数名には、変数と同様に英数字とアンダースコア(_)を使うことができます。

引数には、関数に渡す値の型とその変数名を指定することができます。引数は カンマ(,)で区切ることで複数記述することができます。また、宣言においては引数名を省略することができます。

以下に、関数の宣言の例を示します。

int Func(int arg1, int arg2);

関数の定義

関数の定義は、宣言の後に行うことができます。定義を先に行うとコンパイルエラーになります。定義は以下の形式で行います。

戻り値の型 関数名(引数の型 引数名)
{
	処理;
	
	return 戻り値;
}

戻り値がvoid型(戻り値なし)の場合は、return文を書く必要はありません。ただし、関数を抜けるためにreturn文を書くことはあります。また、return文は複数記述することができます。

以下に、2つの引数のうち、値の大きい方を返す関数の定義の例を示します。

int max(int arg1, int arg2)
{
	if(arg1 < arg2){
		return arg2;
	}else{
		return arg1;
	}
}

関数の呼び出し

定義した関数は、別の関数から呼び出して使うことができます。

以下に、先程定義したmax関数をmain関数から呼び出す例を示します。

#include<stdio.h>
int max(int arg1, int arg2);

int main(void)
{
	int ret;
	
	ret = max(10, 20);
	
	printf("ret = %d\n", ret);
}

int max(int arg1, int arg2)
{
	if(arg1 < arg2){
		return arg2;
	}else{
		return arg1;
	}
}

実行結果:

ret = 20

<<前へ(条件分岐)

>>次へ(基本型)