
はじめてのC言語 | 第13回
はじめに|作ったはずなのに、手元にない
これまでミナちゃんは、C言語で関数を勉強して、
中で計算や処理をすることができるようになりました。
ところが、ある日こんな疑問が浮かびます。
「ちゃんと計算できているけど、
その結果を、どうやって使えばいいんだろう?」
これは、戻り値をまだ意識していないときに、
多くの人が感じる疑問です。
関数は、キッチンのような場所
関数の中は、カフェでいうと キッチン のような場所です。
- 中で作業はできる
- でも、外からは見えない
- 外に伝わるのは「渡されたもの」だけ
C言語の関数も同じです。
中でどんな計算をしていても、
何も返さなければ、外からは分かりません。
作っているけど、返していない例
まずは、よくあるコードを見てみましょう。
#include <stdio.h>
void make_drink(void) {
int price = 500;
price = price + 100;
}この関数は、
- 値段を計算している
- でも、何も返していない
という状態です。
price は関数の中だけで使われ、
関数が終わると一緒に消えてしまいます。
カフェで言うと、
ドリンクは作ったけれど、カウンターに出していない
そんな状態です。
return は「できました」の合図
では、作った結果を外に渡してみましょう。
#include <stdio.h>
int make_drink(void) {
int price = 500;
price = price + 100;
return price;
}ここで大切なのは、この一行です。
return price;この return は、
- 関数の仕事が終わったことを伝える
- 作った結果を外に渡す
という役割を持っています。
カフェで言えば、
「できました」と言って、
ドリンクを差し出す瞬間です。
返すだけでは、まだ半分
でも、返しただけでは、まだ完成ではありません。
#include <stdio.h>
int make_drink(void) {
int price = 600;
return price;
}
int main(void) {
make_drink();
return 0;
}このコードでは、
- 関数は値を返している
- でも、誰も受け取っていない
戻り値は、そのまま消えてしまいます。
これは、
カウンターにドリンクを置いたのに、
誰も受け取らなかった
という状態です。
受け取って、はじめて意味を持つ
では、戻り値をちゃんと受け取ってみましょう。
#include <stdio.h>
int make_drink(void) {
int price = 600;
return price;
}
int main(void) {
int result = make_drink();
printf("ドリンクの値段は %d 円です\n", result);
return 0;
}ここでは、
make_drink()が値を返すresultがそれを受け取る- 受け取った値を使って表示する
という流れになっています。
C言語では、
型 変数 = 関数();この形が、
戻り値を受け取る基本の形です。
戻り値があると、次につなげられる
受け取った値は、
そのまま次の処理に使うことができます。
int price = make_drink();
if (price > 500) {
printf("少し高めのドリンクです\n");
}これで、
- 計算する
- 結果を受け取る
- その結果で判断する
という流れが生まれます。
プログラムが、
少し「考えている」ように見えてくる瞬間です。
全体のコードを見てみる
1 #include <stdio.h>
2
3 int make_drink(void) {
4 int price = 600;
5 return price;
6 }
7
8 int main(void) {
9 int price = make_drink();
10
11 if (price > 500) {
12 printf("少し高めのドリンクです\n");
13 }
14
15 printf("ドリンクの値段は %d 円です\n", price);
16 return 0;
17 }
18実行すると、こうなります
少し高めのドリンクです
ドリンクの値段は 600 円です関数は「約束」になる
ユニ先生は、こう言います。
「この関数は、
何を受け取って、
何を返すのか。
それが分かれば、安心して使えるよ」
戻り値がはっきりしている関数は、
- 使う人が迷わない
- 間違いに気づきやすい
- 何度も使える
信頼できるメニューになります。
おわりに|作る → 返す → 受け取る
C言語の return は、
ただの命令ではありません。
- 作ったものを
- 外に渡して
- 次の処理につなげる
ための、大切な動作です。
作るだけでは、まだ途中。
受け取って、はじめて完成です。
次回予告
受け取ったドリンクを、どう使う?
次は、
戻り値を条件に使う話
へ進みます。
さらに学びたいあなたへ
📘 用途ごとに選ぶ Linux のおすすめ本

