C言語入門|8章のまとめ

関数を理解すると、C言語の景色が変わる

ここまで、本当にお疲れさまでした。
8章では、C言語における 関数 をテーマに、かなり深いところまで学んできました。

「関数って便利そう」
そんな軽い気持ちで始まった人も、
今では 仕組み・危険性・使いどころ まで見えてきたのではないでしょうか。

このまとめでは、8章で身につけた知識を整理しながら、
「なぜ関数を学ぶことが重要だったのか」を一緒に振り返っていきます。

関数とは何だったのか

関数とは、複数の文をまとめて1つの処理として独立させたものです。
C言語では、基本的に処理は関数単位で構成されます。

関数を使う最大のメリットは、次の点にあります。

観点内容
可読性処理の意図が名前で伝わる。
再利用性同じ処理を何度も書かなくてよい。
保守性修正箇所を1か所に集約できる。
分業処理ごとに役割分担しやすい。

8章を通して、
関数は「楽をするための仕組み」ではなく、「複雑さを制御するための仕組み」
だということが見えてきたはずです。

関数の定義と呼び出しの本質

関数を定義するとき、必ず決めるものがありました。

  • 関数名
  • 引数
  • 戻り値

そして、それらを1行目にまとめて書くのが関数定義です。

int calcScore(int base, int bonus)
{
    return base + bonus;
}

この1行目は、
関数を使う人への「仕様書」 のような役割を持っていました。

また、関数の呼び出しは単なる命令ではなく、
() 演算子による評価 であることも学びました。

total = calcScore(60, 15);

この式は、最終的に次のように評価されます。

total = 75;

関数呼び出しは「処理」ではなく、
値に化ける式 だという理解は、8章の中でも特に重要なポイントでした。

引数のしくみを振り返る

関数に値を渡す仕組みが 引数 です。

  • 関数定義側で受け取る引数 → 仮引数
  • 呼び出し時に渡す値 → 実引数

この2つは、名前も役割も明確に分かれていました。

int multiply(int x, int y)   // 仮引数
{
    return x * y;
}

result = multiply(3, 4);    // 実引数

引数は自由に渡せるようでいて、
型・個数・順序を厳密に守る必要がある というルールもありました。

ここを曖昧にすると、
コンパイルエラーや意図しない動作の原因になります。

戻り値の意味と役割

戻り値は、
関数が仕事を終えたあとに、呼び出し元へ返す結果 です。

戻り値を返すには、return 文を使います。

return result;

return 文には、次の2つの役割がありました。

役割説明
値を返す呼び出し元へ処理結果を渡す。
処理を終えるその時点で関数の実行を終了する。

また、戻り値は 1つだけ しか返せないこと、
そして関数全体が () 演算子の評価結果として値に置き換わる ことも重要でした。

サンプルで振り返る「関数の評価」

8章では、関数の理解を深めるために、次のようなプログラムを扱ってきました。
ここでは、内容を少し変えたサンプルで振り返ります。

プロジェクト名:8-17-1 ソースファイル名: sample8-17-1.c

#include <stdio.h>

int addPoint(int score, int bonus)
{
    return score + bonus;
}

int main(void)
{
    int base = 70;
    int finalScore = addPoint(base, 10);

    printf("最終スコアは %d 点です\n", finalScore);
    return 0;
}

実行結果

最終スコアは 80 点です

このプログラムでは、

  • 関数が値を返す。
  • 呼び出しが値に化ける。
  • 代入文として評価される。

という流れが、すべて詰まっています。

8章を通して見えてきた「注意点」

8章の後半では、
関数の便利さだけでなく 危険性 にも触れました。

  • グローバル変数の乱用
  • 配列や文字列を関数に渡すリスク
  • スコープと寿命の問題

特に、

「書ける」ことと「安全に使える」ことは違う

という感覚は、
これからC言語を続けていくうえで非常に重要です。

8章で身につけたもの

最後に、8章で得たものを整理しておきましょう。

分野身についたこと
設計力処理を分割して考える力
読解力関数定義の1行目を読む力
理解力関数呼び出しの正体を見抜く力
注意力危険な使い方を察知する力

関数を学んだことで、
C言語は「文法の集合」から
構造を持った言語 へと見え方が変わったはずです。

ここまで来たあなたは、
もう「関数がなんとなく分かる人」ではありません。

次の章では、
関数で学んだ知識が、
配列・ポインタ・構造体とどう結びついていくのかが見えてきます。

続きも、一緒に進めていきましょう 👍