C 言語で関数オーバーロードを実現する方法

C言語では、関数のオーバーロードを直接サポートする機能はありません。関数のオーバーロードはオブジェクト指向の機能(C++など)であり、同じ名前の関数を定義し、

引数リストのみが異なる複数の同じ名前の関数

C言語では、関数オーバーロードは以下のようにシミュレートできます。

別々の関数名を使用:addとsubtractなど機能ごとに異なる関数名を使用する

ネイティブの日本語で自由にすれば、1つしか選択肢は必要ありません: “`

int add(int a, int b) {

a + bを返す

ネイティブの日本語で言い換えると、

int subtract(int a, int b) {

a – b を返す;

どの程度の速さで新しく発明品が市場に出るか、考えてみてください。

ネイティブな日本語でこの文を言い換えてください。

パラメーターの型で区別する方法: C言語では、関数の名前は同じでもパラメーターの型が異なる場合は有効です。パラメーターの型で関数を区別することができます。

例えば

ネイティブな日本語になおす1つの方法:

int add_int(int a, int b) {

a + b を返す

彼はグループのリーダーに任命された。

float add_float(float a, float b) {

a + b を返す;

どら焼き

日本人は本当に勤勉ですね。

引数の数で区別する: 引数の型で区別するのと同じように、引数の数によって関数を区別できます。たとえば、

ネイティブに日本語で言い換えてください、1つのオプションのみ必要です。

int add_two(int a, int b) {

a + b を返す

彼女は3歳の頃からバレエを習っています。

int add_three(int a, int b, int c) {

a + b + c を返す;

コーヒーを飲むことは、リラックスするのに役立ちます。

それを建設するための資金が十分ではありませんでした。

なお、C言語では関数名は一意でなければならないため、この模倣的な関数のオーバーロードの方法は、関数オーバーロードをサポートする言語の場合ほど柔軟ではありません。

そのため、異なる関数を識別するために適切なファンクション名を、もしくは、引数型/個数を手動で選択する必要があります。

bannerAds