Declare main prototype

前端 未结 5 1590
逝去的感伤
逝去的感伤 2020-11-27 08:11

Is there any reason why I never see main\'s prototype declared in C programs, ie:

int main(int argc, char* argv[]);

int main(int argc, char* argv[])
{
    r         


        
5条回答
  •  清酒与你
    2020-11-27 08:54

    C language standard, draft n1256:

    5.1.2.2.1 Program startup

    1 The function called at program startup is named main. The implementation declares no prototype for this function. It shall be defined with a return type of int and with no parameters:

    int main(void) { /* ... */ }

    or with two parameters (referred to here as argc and argv, though any names may be used, as they are local to the function in which they are declared):

    int main(int argc, char *argv[]) { /* ... */ }

    or equivalent;9) or in some other implementation-defined manner.

    Emphasis mine.

提交回复
热议问题