
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言語は「文法の集合」から
構造を持った言語 へと見え方が変わったはずです。
ここまで来たあなたは、
もう「関数がなんとなく分かる人」ではありません。
次の章では、
関数で学んだ知識が、
配列・ポインタ・構造体とどう結びついていくのかが見えてきます。
続きも、一緒に進めていきましょう 👍
