関数について【C言語を学ぼう】
2016/01/06
関数
関数 → プログラムを部品化して、再利用する
- 関数は単機能であるべき!(余計な機能を入れない)
- 複数の単一機能を組み合わせてもOK!
- 引数は複数指定できる(複数の時はカンマ[,]で区切る)
関数の構成
戻り値の型 関数名 ( 引数 )
{
処理内容
}
関数の4つのパターン
パターン1. 戻り値の型なし、引数なし
例)関数名:ShowHelloWorld
画面に”Hello World”を表示する
void ShowHelloWorld(void)
//関数 ShowHelloWorldを定義
void ShowHelloWorld(void)
{
printf("Hello World¥n");
}
//関数 ShowHelloWorldの定義ココまで
void main(void)
{
ShowHelloWorld();//ShowHelloWorldを呼出
}
パターン2. 戻り値の型なし、引数あり
例)関数名:ShowNum / 引数:int a / 値:10
画面に整数を表示する
void ShowNum(int a)
//関数 ShowNumを定義
void ShowNum(int a)
{
printf("a = %d¥n" , a);
}
//関数 ShowNumの定義ココまで
void main(void)
{
ShowNam(10);//ShowNumを呼出
}
パターン3. 戻り値の型あり、引数なし
例)関数名:InputNum
キーボードから整数を入力
戻り値の型 → 関数の処理結果
int InputNum(void)
//関数 InputNumを定義
int InputNum(void)
{
int num;
printf("整数を入力:¥n");
scanf("%d" , &num);
return num;//関数を終了し、続く値を「戻り値」として呼出元に返す
}
//関数 InputNumの定義ココまで
void main(void)
{
int ret; //戻り値保存用変数
ret = InputNum(); //inputNum(); は「戻り値」
printf("入力値(ret)= %d¥n" , ret);
}
パターン4. 戻り値の型あり、引数あり
例)関数名:Sum / 引数:int a, int b / 値:10 , 20
二つの整数を加算する
int Sum(int a, int b)
//関数 Sumを定義
int Sum(int a, int b)
{
int ans;
ans = a + b;
return ans; //関数を終了し、続く値を「戻り値」として呼出元に返す
}
//関数 Sumの定義ココまで
void main(void)
{
int ret; //戻り値保存用変数
ret = Sum(10 , 20);
printf("合計(ret)= %d¥n" , ret);
}