【C言語】引数と戻り値とは?関数の入力と出力を基礎から徹底解説
この記事でわかること
- 引数と戻り値の役割と考え方
- 関数に値を渡す方法と受け取る方法
- 引数あり/戻り値ありの関数の書き方
- 複数の引数を使った実践的な例
- なぜ関数を使うと保守性が高くなるのか
引数と戻り値とは
引数と戻り値は、関数と外の世界をつなぐための仕組みです
引数
関数に「値を渡す」ためのもの
関数を呼び出すときに必要な情報を持たせます
戻り値
関数が「処理した結果を返す」ためのもの
関数呼び出し後に、その結果を受け取って利用できます
イメージとしては
- 引数 → 入力
- 戻り値 → 出力
と考えると分かりやすいです
関数の定義方法
引数と戻り値を持つ関数は、次の形で定義します
戻り値の型 関数名(引数の型 引数名, ...) {
// 処理
return 戻り値;
}定義時のポイント
| 項目 | 説明 |
|---|---|
| 引数の型・引数名 | 呼び出し時に渡される値を受け取る |
| 複数の引数 | カンマで区切って指定できる |
| return 文 | 関数の結果を返す。型は戻り値の型と一致させる |
| void | 引数なし、または戻り値なしの場合に使用 |
関数を用いた実例
引数あり・戻り値なしの関数
#include <stdio.h>
// 引数で名前を受け取り、表示する関数
void greet(char name[]) {
printf("こんにちは、%s さん!\n", name);
}
int main(void) {
greet("○○");
greet("××");
return 0;
}こんにちは、○○ さん!
こんにちは、×× さん!引数を使うことで、同じ処理でも「渡す値によって動作を変える」ことができます
処理の中身は1つでも、使い回しができるのが大きな利点です
引数あり・戻り値ありの関数
#include <stdio.h>
// 2つの整数を受け取って、合計を返す関数
int add(int a, int b) {
return a + b;
}
int main(void) {
int result = add(5, 7);
printf("合計は %d です\n", result);
return 0;
}合計は 12 です戻り値がある関数は、計算結果や判定結果を返したいときによく使われます
返された値は変数に代入して、後続の処理に利用できます
複数の引数を使う例
#include <stdio.h>
// 3教科の点数を受け取り、平均を返す関数
double average(int a, int b, int c) {
return (a + b + c) / 3.0;
}
int main(void) {
double avg = average(70, 85, 90);
printf("平均点は %.2f です\n", avg);
return 0;
}平均点は 81.67 です複数の引数を使うことで、より実践的な処理を関数としてまとめられます
なぜ関数を使うのか
今は
- コードが短い
- 呼び出し回数が1回だけ
なので「main 関数に全部書けばいいのでは?」と思うかもしれません
ですが、プログラムが大きくなると
・同じような処理を何度も書く
・修正のたびに複数箇所を直す
といった問題が必ず出てきます
関数を使えば
- 共通処理を1つにまとめられる
- 何度でも呼び出して使える
- 修正が必要になっても関数だけ直せばいい
つまり、再利用性が高く、保守性のあるコード が書けるようになります
まとめ
- 引数は関数への入力
- 戻り値は関数からの出力
- 引数と戻り値を使うことで柔軟な関数が作れる
- 複数の引数を使えば実用的な処理も簡潔に書ける
- 関数はコードの再利用性と保守性を高めるために不可欠