ここでは、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
これは出力を示していますが、次のようないくつかの警告が表示されます:
[Warning] conflicting types for 'function' [Note] previous implicit declaration of 'function' was here
ここで関数プロトタイプを使用すると、次のことが実行されます。問題なく。
#include<stdio.h> void function(int); //prototype main() { function(50); } void function(int x) { printf("The value of x is: %d", x); }
The value of x is: 50
以上がC/C++ における関数プロトタイプの目的は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。