今日の人気記事

  1. continue文 - ループをスキップ
  2. エスケープシーケンス - 特殊文字
  3. 条件演算子(3項演算子)「? :」
  4. int main(void) - プログラムの基本
  5. 自然対数の底(ネイピア数)を計算する

関数のプロトタイプ宣言

当ページのリンクには広告が含まれています。

スポンサーリンク

ここでは関数のプロトタイプ宣言について解説します。

関数のプロトタイプ宣言

関数を呼び出す場合

「呼び出す関数は使用する前に記述しておく必要がある」

というルールがあります。

しかし、関数が増えてくるとこれらの呼び出し順番を管理するのがめんどくさくなります。

そんなときのために?C言語には「プロトタイプ宣言」という構文が用意されています。これは関数の中身(処理)を記述せずにとりあえず関数を呼び出す前に宣言しておいて、処理の部分は後ほど記述するという方法です。これで、いつでも関数を利用できるようになります。

プロトタイプ宣言

それでは関数のプロトタイプとして宣言する方法をみてみましょう。

戻り値の型 関数名(引数の型);

このように「戻り値の型(関数の型)」「関数名」「引数の型」を指定すれば、OKです。これでプロトタイプ宣言の完了です。

例えば、int型の引数を2つ持つ int型の tasu関数をプロトタイプ宣言する場合は

int tasu(int, int);

このように宣言すれば、OKです。この宣言は呼び出す前に記述しておきましょう。

サンプルプログラム

それでは実際にプロトタイプ宣言を使ったサンプルプログラムをみてみましょう。

#include <stdio.h>

/* プロトタイプ宣言 */
void hello(void);
int tasu(int, int);

int main(void){

  int a, b;
  a = 1;
  b = 3;

  /* hello関数の呼び出し */
  hello();

  /* tasu関数の呼び出し */
  printf("%d\n", tasu(a,b));

  return 0;
}

/* tasu関数 */
int tasu(int a, int b){
  return a + b;
}

/* hello関数 */
void hello(void){
  printf("Hello, World!\n");
}

実行結果です。

Hello, World!
4

このように関数の呼び出しが適切に行われています。

次は「スコープ - グローバル変数とローカル変数」についてみていきます。

基本構文 の人気記事

  1. printf関数の変換指定子
  2. int main(void) - プログラムの基本
  3. continue文 - ループをスキップ
  4. 変数の値を出力 - printf 関数
  5. 条件演算子(3項演算子)「? :」
  6. while文 - 繰り返し処理
  7. エスケープシーケンス - 特殊文字
  8. else if文 - 複数の条件式 - 条件分岐
  9. 関数のプロトタイプ宣言
  10. (前置・後置)インクリメント演算子, ++

関連記事(一部広告含む)