C/C++ における関数プロトタイプの目的は何ですか?

WBOY
リリース: 2023-09-12 22:33:03
転載
833 人が閲覧しました

C/C++ における関数プロトタイプの目的は何ですか?

ここでは、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 &#39;function&#39;
[Note] previous implicit declaration of &#39;function&#39; 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 サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート