月ノ書

<C言語>引数と戻り値

今回の記事でわかること
  • 関数に値を渡す「引数」の使い方が分かる
  • 関数から値を返す「戻り値」の使い方が分かる
  • 引数と戻り値を組み合わせて便利な関数が作れる

引数と戻り値とは

簡単に言うと「入力(引数)」と「出力(戻り値)」みたいなイメージ

関数の定義方法

戻り値の型 関数名(引数の型 引数名, ...) {
    // 処理
    return 戻り値;   // 戻り値がある場合
}

ポイント

項目説明
引数の型 引数名呼び出し時に渡される値を受け取る
複数の引数カンマで区切って書ける
return 文値を返す。戻り値の型と一致する必要がある
void引数なし / 戻り値なしの場合に使用

関数を用いた実例

引数あり・戻り値なし

#include <stdio.h>

// 引数で名前を受け取り、表示する関数
void greet(char name[]) {
    printf("こんにちは、%s さん!\n", name);
}

int main(void) {
    greet("○○");
    greet("××");
    return 0;
}

/* 出力結果
こんにちは、○○ さん!
こんにちは、×× さん!
*/

引数を使えば、同じ処理を「入力によって変化」させることができる

引数あり・戻り値あり

#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 に全部書けばいいのでは?」と思う方もいるかもしれません。ですがプログラムを作っていくと、同じような処理を何度も書く場面が必ず出てきます。そのたびにコピペして書くのは大変ですし、修正が必要になった時に全部直さないといけません

そんな時に便利なのが関数です

つまり「再利用性が高く、保守性のあるコードが書ける」ようになるのが関数の強みです

学習進捗

0
Would love your thoughts, please comment.x