関数の基礎: 処理の部品化
入力を受け取り、処理をして、出力を返す「ブラックボックス」を作る。
関数
特定の処理をまとめた再利用可能な部品。
プロトタイプ宣言
関数の名前、引数、戻り値を事前に宣言すること。
void
「何もない」ことを表す型。戻り値なし、引数なし等で使う。
関数とは
プログラムが大きくなると、全てを main
関数に書くのは不可能になります。処理を意味のある単位(部品)に分割し、名前をつけたものが「関数」です。
関数は「入力(引数)」を受け取り、内部で処理を行い、「出力(戻り値)」を返します。呼び出す側は中身を知らなくても、機能だけ知っていれば使える「ブラックボックス」として機能します。
プロトタイプ宣言
C言語のコンパイラは上から下へコードを読みます。まだ定義されていない関数を使おうとするとエラー(または警告)になります。これを防ぐために「予告」をするのがプロトタイプ宣言です。
// プロトタイプ宣言// コンパイラに「こういう関数があとで来るよ」と教えるint multiply(int a, int b);
int main(void) { // 宣言があるので予習済み。コンパイルエラーにならない。 printf("%d\n", multiply(4, 5)); return 0;}
// 実体は後で書くint multiply(int a, int b) { return a * b;}実践テクニック
暗黙の宣言禁止
古いC言語では、プロトタイプ宣言なしで関数を使うと「戻り値はintだろう」と勝手に解釈されましたが、これは現代では禁止(または強い非推奨)です。バグの温床になります。必ずヘッダファイルやプロトタイプ宣言を使いましょう。
演習課題
課題1: 挨拶関数
引数なし、戻り値なしで、"Hello from Function!" と表示する関数 greet を作成してください。
課題2: 二乗関数
整数を受け取り、その二乗を返す関数 square を作成してください。
合格ライン
関数を定義し、mainから呼び出せる
プロトタイプ宣言の必要性を理解している