房天下 > 房天下问答 > 业主生活 > 其他
  • C的main()函数带参数的话是只有main(int argc,char *argv) 一种形式么?

    C的main()函数带参数的话是只有main(int argc,char *argv) 一种形式么?如有其他形式请举例说明。

    提问者:xxyyjjhh

    发布于2010-12-07

共1个回答
  • ouyangyihu 丨Lv 4
    搜集和整理了一下。ANSI-C(C89/C99)的话main()函数有2种主要形式。 (1) int main(void) (2) int main(int argc, char *argv[]) (2)也可写成int main(int argc, char **argv) argv[argc]放空指针(NULL指针)。argc和argv可以用别名。 另外,还有一种受系统限制的形式: int main(int argc, char *argv[], char *envp[]) 前两个参数同(2),第三个参数envp[]放环境变量。这个形式很少用。所以严格讲,ANSI-C推荐的带参数的main()函数只有上面(2)这一种。另外,搜集了一下C和C++中常见的几种形式:(1) main() (2) int main()(3) int main(void) (4) int main(int, char**) (5) int main(int, char*[]) (6) int main(int argc, char **argv) (7) int main(int argc, char *argv[]) (8) int main( int argc, char *argv[], char *envp[]) (9) void main(void) (1)是(3)的简写。不推荐使用。(2)是(3)的简写。在C++中是正确的形式。(3)在C和C++中都是正确的形式。推荐使用。(还有缺省int的main(void)形式)。 (4)和(5)是不用参数时的一种写法。编译器级别高时会警告。不推荐使用。(6)是(7)的另外写法。两种都可以,凭个人爱好。(7)是带参数的正确的形式。推荐使用。(8)是一种很少用的写法,且受系统限制。(9)一般不认为是正确的写法。但是在嵌入式系统中有使用(包括void main()形式)。
    +1 2010-12-07 举报
热门人气推荐
免责声明:问答内容均来源于互联网用户,房天下对其内容不负责任,如有版权或其他问题可以联系房天下进行删除。