3

私は関数を持っており、2つの方法で書くことができます。

void function(void) {
        // operations....
}

void function() {
       // operations......
}

両方の関数は同じプロトタイプです。void関数定義で引数として言及する必要があるのはなぜですか?

4

2 に答える 2

10

いいえ、どちらもプロトタイプが異なります。

あなたが理解できる以下のプログラムをコンパイルしてください。

void function1(void)
{
   printf("In function1\n");
}

void function2()
{
   printf("In function2\n");
}

int main()
{
   function1();
   function2(100); //Won't produce any error
   return 0;
}  

プログラム 2:

 #include <stdio.h>
 void function1(void)
 {
    printf("In function1\n");
 }

 void function2()
 {
    printf("In function2\n");
 }

int main()
{
    function1(100);   //produces an error
    function2();
    return 0;
}
于 2013-10-06T05:39:03.893 に答える