Cプログラミングにおける関数宣言と関数定義の違いは何ですか

目次:

Anonim

NS 主な違い Cプログラミングにおける関数宣言と関数定義の間には次のようなものがあります。 関数宣言は関数が何であるかを示し、関数定義は関数が何をするかを示します。

Cは、DennisRichieによって開発された高級汎用プログラミング言語です。これは、C ++、Python、Java、PHPなどの他の多くの言語の基礎プログラミング言語です。関数はCプログラミングの重要な概念です。これは、特定のタスクを実行する一連のステートメントです。プログラマーは、メインプログラム内にすべてのステートメントを記述するのではなく、関数を作成してメインプログラム内で呼び出すことができます。それはプログラムをより読みやすくします。関数の実行後、制御はメインプログラムに戻ります。関数には宣言と定義があります。宣言はプロトタイプですが、定義には実際の実装が含まれています。

Cプログラミング、関数宣言、関数定義

Cプログラミングにおける関数宣言とは

関数宣言は、特定の関数についてコンパイラーを示します。構文は次のとおりです。

return_type function_name(パラメータリスト);

function_nameは、関数を識別するのに役立ちます。パラメータリストは、タスクを実行するために関数に渡されるもので構成されます。 return_typeは、関数の出力のデータ型を参照します。関数が整数を与える場合、戻り型はintです。 double値の場合、戻りタイプはdoubleです。関数が値を返さない場合、それは無効です。

たとえば、2つの整数を乗算する関数を想定します。関数宣言は次のとおりです。

int multiply(int num1、int num2);

この関数は乗算と呼ばれます。 num1とnum2という2つの整数を取得します。戻りタイプはintです。したがって、この関数は整数値を出力します。最後に、宣言はセミコロンで終わります。

次のように、宣言内のパラメータのデータ型のみに言及することもできます。

int multiply(int、int);

Cプログラミングの関数定義とは

関数定義とは、関数の実装を指します。つまり、関数が実行する実際のステートメントを表します。構文は次のとおりです。

return_type function_name(parameter_list){

//関数のステートメント

}

function_nameは、関数を識別するのに役立ちます。関数を呼び出すと、値はその関数に渡されます。これらの値はパラメーターにコピーされます。対応するデータ型を持つ単一または複数のパラメーターが存在する可能性があります。リターンタイプは、関数の出力を説明します。プログラマーは、中括弧内に関数のステートメントを書くことができます。

プログラム例は以下のとおりです。

図1:関数の宣言と定義を備えたCプログラム

上記のプログラムでは、3行目で関数宣言が表示されています。名前、パラメーターなど、関数に関する情報をコンパイラーに提供します。mainメソッドには、num1とnum2の2つの整数があります。 9行目では、これらの値が渡されて乗算されます。関数が実行されます。 num1値はxにコピーされ、num2値はyにコピーされます。次に、結果が返され、変数ansに格納されます。最後に、printfステートメントはコンソールに値を表示します。

上記のプログラムでは、3行目が関数宣言を表示し、14行目から16行目が関数定義を表示しています。

Cプログラミングにおける関数宣言と関数定義の違い

意味

関数宣言は、関数本体なしで関数名、戻り値の型、およびパラメーターを指定するプロトタイプです。一方、関数定義は、関数名、戻り値の型、および関数本体のパラメーターを指定する実際の関数を参照します。したがって、これが関数宣言と関数定義の主な違いです。

機能性

機能的には、関数宣言と関数定義の違いは、関数宣言はコンパイラーに関数やその関数の呼び出し方法などを示すのに役立ち、関数定義は関数が実行する内容を記述するのに役立つことです。これは、関数の実際の実装です。

からなる

関数宣言には関数名、パラメーターリスト、およびリターンタイプが含まれ、関数定義には関数名、パラメーターリスト、リターンタイプ、関数本体(関数のステートメント)が含まれます。これは、関数宣言と関数定義のもう1つの違いです。

結論

Cプログラムでは、関数には宣言と定義があります。 Cプログラミングにおける関数宣言と関数定義の主な違いは、関数宣言は関数が何であるかを示し、関数定義は関数が何をするかを示すことです。

リファレンス:

1.「Cの関数–Javatpoint」 Www.javatpoint.com、ここから入手できます。

Cプログラミングにおける関数宣言と関数定義の違いは何ですか