月ノ書

【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 です

複数の引数を使うことで、より実践的な処理を関数としてまとめられます

なぜ関数を使うのか

今は

なので「main 関数に全部書けばいいのでは?」と思うかもしれません

ですが、プログラムが大きくなると

・同じような処理を何度も書く
・修正のたびに複数箇所を直す

といった問題が必ず出てきます

関数を使えば

つまり、再利用性が高く、保守性のあるコード が書けるようになります


まとめ

学習進捗

0
Would love your thoughts, please comment.x