C言語の引数と戻り値を完全ガイド!初心者でもわかる型指定の基本
生徒
「C言語の関数で、引数とか戻り値ってよく聞きますけど、どういう意味なんですか?」
先生
「引数は関数に渡す値、戻り値は関数が返す値のことです。道具箱に材料を入れて加工し、結果を取り出すイメージです。」
生徒
「材料と完成品みたいな感じですね!でも型を指定する必要があると聞いて、不安です。」
先生
「大丈夫です。型指定は難しく見えて、とても理にかなっています。ひとつずつ理解すれば怖くありません。」
1. 引数と戻り値とは?
引数と戻り値は、C言語の関数を理解するうえで欠かせない仕組みです。引数は関数に渡す値、戻り値は関数が処理した結果です。例えば、足し算の関数なら二つの数字を引数にして、足した結果を戻り値として返します。日常生活の道具に例えると、材料を入れて作業し、完成品を取り出す流れと似ています。
コンピュータは人間のように柔軟な理解ができないため、引数と戻り値には「型」を指定します。型とは数字なのか文字なのかを表す情報で、間違った型が渡されると正しく動きません。だからこそ、型を指定することは安全なプログラムづくりに欠かせない重要なポイントです。
2. 戻り値の型指定
関数を定義するとき、先頭に書かれているのが戻り値の型です。戻り値が整数ならint、小数を返すならdouble、文字を返すならcharと書きます。返す結果がない場合はvoidを使います。戻り値とは、関数が最後に返す答えであり、main関数や他の関数から受け取って使うことができます。
int add(int a, int b)
{
return a + b;
}
この関数はint型の値を返します。return文が使われ、計算結果が呼び出し元に戻されます。戻り値がない関数は次のように書きます。
void hello()
{
printf("こんにちは\n");
}
この場合、表示するだけで結果を返さないためvoidになります。voidは「何も返さない」という型の意味です。
3. 引数の型指定
引数とは、関数に渡す材料です。引数にも型を指定します。例えば、整数を受け取りたいならint、小数ならdoubleを指定します。引数が複数ある場合はカンマで区切り、ひとつずつ型を書く決まりです。
int mul(int x, int y)
{
return x * y;
}
mul(3,4)と呼び出すと、xが3、yが4になり、掛け算した結果を戻します。このように関数は必要な材料だけを受け取り、決まった処理を行う仕組みです。
4. 戻り値と引数を使ったプログラム例
ここでは、引数と戻り値を持つ関数を使って計算する例を見てみましょう。
#include <stdio.h>
int add(int a, int b)
{
return a + b;
}
int main(void)
{
int answer = add(10, 20);
printf("答え:%d\n", answer);
return 0;
}
答え:30
add(10,20)と書くと、10と20が関数に渡され、加算された結果30が戻ってきます。このように、引数と戻り値は関数の動きを明確にし、プログラムの読みやすさを大きく向上させます。
5. 戻り値が複数欲しいときはどうする?
C言語の関数は、基本的に戻り値をひとつしか返せません。しかし、配列や構造体を使うと、複数の値をまとめて返すことができます。まだ先の話ですが、型の仕組みを理解していくと応用が広がり、複雑なデータ処理もできるようになります。
6. 型指定をしないとどうなる?
型指定がない状態では、プログラムが正しく動かない可能性があります。例えば、整数を返すつもりの関数に小数を入れたり、文字列を返すつもりの関数に数字を渡したりすると、予期しない動作につながります。型は「この関数はこういう材料を受け取り、こういう結果を返します」と宣言する役割を持っています。
人間には分かりやすい処理も、コンピュータは決まった型で理解するので、型指定はルール通り正しく行うことがとても大事です。
7. void型の関数を理解しよう
戻り値がいらない関数はvoid型で定義します。表示・初期化・メッセージ出力など、結果を返す必要がない場面で使います。
void showMessage()
{
printf("作業が完了しました\n");
}
呼び出すときはshowMessage()と書くだけです。戻り値がないのでreturnは必須ではありません。voidは初心者が覚えるべき基本の型です。
8. 関数は型の約束で成り立つ
C言語は厳しい型のルールに基づいて動きます。これは「安全で正確な動作」を保証するためです。入力と出力をはっきりさせることで、プログラムの流れが分かりやすくなり、間違いを防げます。引数と戻り値は関数のコミュニケーション方法であり、型指定はその言語の約束です。
この仕組みに慣れると、関数を使ったプログラムは劇的に読みやすくなり、処理の整理も簡単になります。
9. 関数と型指定はプログラムを綺麗にする
同じ処理を何度も書く必要がなくなり、修正もしやすくなります。例えば、税金の計算や平均の算出など、使い回せる処理ほど関数に向いています。プログラムの再利用性が上がり、保守性が高まるため、現場の開発でも必ず使われる技術です。
初心者のうちは難しく見えますが、型指定は慣れると自然に使えるようになります。ひとつの動きにひとつの関数、材料は引数、結果は戻り値という考え方を身につけていきましょう。