ここでは、CまたはC++で関数プロトタイプを使用する目的が何であるかを見ていきます。 関数プロトタイプは、引数の数と関数パラメータの必要なデータ型についてコンパイラに伝えるために使用され、関数の戻り値の型についても伝え この情報によって、コンパイラは関数を呼び出す前に関数シグネチャをクロスチェックします。 関数プロトタイプが言及されていない場合、プログラムはいくつかの警告でコンパイルされ、時には奇妙な出力を生成することがあります。
いくつかの関数がどこかで呼び出されたが、その本体がまだ定義されていない場合、現在の行の後に定義されている場合、問題が発生する可能性が コンパイラは、関数が何であり、その署名が何であるかを見つけることができません。 その場合、プロトタイプを機能させる必要があります。 関数が以前に定義されている場合は、プロトタイプは必要ありません。
コード例
#include<stdio.h>main() { function(50);}void function(int x) { printf("The value of x is: %d", x);}
出力
The value of x is: 50
これは出力を示していますが、以下のような警告が表示され:
conflicting types for 'function' previous implicit declaration of 'function' was here
Now using function prototypes, it is executing without any problem.
Example Code
#include<stdio.h>void function(int); //prototypemain() { function(50);}void function(int x) { printf("The value of x is: %d", x);}
Output
The value of x is: 50
Published on 09-Apr-2019 12:51:04
Advertisements