Cでintmain関数とintmain(void)関数を区別する
int main プログラム実行の最後に、関数が「0」でさえ整数を返すことを表します。 「0」は、プログラムの正常な実行を表します。
intmainの構文は次のとおりです-
int main(){ --- --- return 0; }
int main(void) 関数が引数を取らないことを表します。角かっこでvoidを保持しない場合、関数は任意の数の引数を取ると仮定します。
int main(void)の構文は次のとおりです-
int main(void){ --- --- return 0; }
実際には、どちらも同じように見えますが、int main(void)は、mainはパラメーターなしでのみ呼び出すことができると明確に述べているため、技術的に優れています。
一般に、C言語では、関数のシグネチャで引数が指定されていない場合、つまり、関数は任意の数のパラメーターを使用して、またはパラメーターを使用せずに呼び出すことができます。
同じロジックを使用して、両方の関数のコードを実装しましょう。唯一の違いは、これらの関数の構文です。
例1
以下に、引数なしのint main()関数のCプログラムを示します-
#include <stdio.h> int main(){ static int a = 10; if (a--){ printf("after decrement a =%d\n", a); main(10); } return 0; }
出力
上記のプログラムを実行すると、次の結果が得られます-
after decrement a =9 after decrement a =8 after decrement a =7 after decrement a =6 after decrement a =5 after decrement a =4 after decrement a =3 after decrement a =2 after decrement a =1 after decrement a =0
例2
以下に示すのは同じプログラムですが、int main(void)関数を使用しています-
#include <stdio.h> int main(){ static int a = 10; if (a--){ printf("after decrement a =%d\n", a); main(10); } return 0; }
出力
上記のプログラムを実行すると、次の結果が得られます-
error
int main()とint main(void)に同じコードを書くと、エラーが発生します。これは、voidが関数がパラメーターを受け取らないことを示しているために発生します。
したがって、上記の例のmainの引数10を削除して、コンパイルしてみてください。したがって、修正後、上記のコードは次のようになります-
例
#include <stdio.h> int main(){ static int a = 10; if (a--){ printf("after decrement a =%d\n", a); main(); } return 0; }
出力
上記のプログラムを実行すると、次の結果が得られます-
after decrement a =9 after decrement a =8 after decrement a =7 after decrement a =6 after decrement a =5 after decrement a =4 after decrement a =3 after decrement a =2 after decrement a =1 after decrement a =0
-
C++での仮想関数と純粋仮想関数の違い
次の表に、仮想機能と純粋仮想機能の違いを示します。 仮想関数 純粋仮想関数 仮想関数の定義はクラスにあります。 純粋仮想関数には定義がありません。 宣言:virtual funct_name(parameter_list){。 。 。 。 。}; 宣言:virtual funct_name(parameter_list)=0; 派生クラスの概念はありません。 クラスに少なくとも1つの純粋仮想関数が含まれている場合、そのクラスは抽象として宣言されます。 必要に応じて、基本クラスは仮想関数をオーバーライドできます。 純粋仮想関数の場合、
-
Pythonのメソッドと関数の違い
機能 関数は、特定のタスクを実行するためのコードのブロックであり、独自のスコープを含み、名前で呼び出されます。すべての関数には、ゼロ(no)引数または複数の引数を含めることができます。終了時に、関数は1つ以上の値を返すことができる場合とできない場合があります。 基本的な関数構文 def functionName( arg1, arg2,….): ……. # Function_body …….. 独自の(ユーザー)、sum(ユーザーは任意の名前を