関数プロトタイプ
CoddyのCジャーニー「Fundamentals」セクションの一部 — レッスン 51/63。
C言語では、関数を使用する前に宣言することができます。関数プロトタイプは、実際の関数が定義される前に、関数の名前、パラメータ、および戻り値の型をコンパイラに伝えます。
2つの整数を加算する関数のプロトタイプを作成します:
int add(int a, int b);次に、関数を定義します:
int add(int a, int b) {
return a + b;
}プロトタイプは通常 main の上に置かれ、関数自体は main の下に置かれるため、コードがよりすっきりと見えます。
これで、main関数の中でこの関数を使用できるようになります:
int main() {
int result = add(5, 3);
printf("%d", result);
return 0;
}プロトタイプがない場合、関数の定義より前にその関数を呼び出すと、コンパイルエラーが発生します。
チャレンジ
簡単以下の処理を行うプログラムを作成してください:
- 2つの整数(
lengthおよびwidth)を引数に取り、整数を返すcalculateAreaという名前の関数のプロトタイプを宣言します。 - 面積(length × width)を計算して返す関数を実装します。
main関数内で、ユーザーから2つの整数を入力として受け取り、calculateAreaを呼び出して、その結果を出力します。
チートシート
関数プロトタイプは、関数が定義される前に関数を宣言し、コンパイラに関数名、パラメータ、および戻り値の型を伝えます:
int add(int a, int b);次に関数を定義します:
int add(int a, int b) {
return a + b;
}プロトタイプは通常 main の上に配置され、関数の定義は main の下に配置されます:
int add(int a, int b); // プロトタイプ
int main() {
int result = add(5, 3);
printf("%d", result);
return 0;
}
int add(int a, int b) { // 定義
return a + b;
}プロトタイプがない場合、定義の前に関数を呼び出すとコンパイルエラーが発生します。
自分で試してみよう
#include <stdio.h>
// ここに関数のプロトタイプを記述してください
int main() {
// 変数の宣言と読み込み
// ここで関数を呼び出し、結果を表示してください
return 0;
}
// ここに関数を実装してくださいこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。