main是C语言里的什么定义,Main的正确声明是什么?

a2ac8c5f762b3d72aebdcdb5d5fbdfa9.png

手掌心

这个main函数必须声明为全局命名空间中的非成员函数。这意味着它不能是类的静态或非静态成员函数,也不能放在名称空间中(甚至是未命名的命名空间)。名字main不在C+中保留,除非作为全局命名空间中的函数。您可以自由声明其他名为main,包括不在全局命名空间中的类、变量、枚举、成员函数和非成员函数。您可以声明一个名为main作为成员函数或命名空间中的函数,但是这样的函数不会是main函数,该函数指定程序开始的位置。这个main函数不能声明为static或inline..它也不能重载;只能有一个名为main在全局命名空间中。这个main函数不能在程序中使用:不允许调用main函数在代码中的任何位置,也不允许您获取其地址。返回类型main一定是int..不允许其他返回类型(此规则为粗体,因为经常会看到不正确的程序声明。main返回类型为void;这可能是最经常违反的关于main职能)。有两个声明main必须允许这样做:int main()               // (1)int main(int, char*[])   // (2)在……里面(1),没有参数。在……里面(2),有两个参数,它们通常被命名为argc和argv分别。argv指向表示程序参数的C字符串数组的指针。argc中的参数。argv阵列。通常,argv[0]包含程序名称,但并不总是如此。argv[argc]保证为空指针。注意,由于数组类型参数(如char*[])实际上只是一个变相的指针类型参数,下面两种都是有效的编写方法(2)他们的意思完全一样:int main(int argc, char* argv[])int main(int argc, char** argv)有些实现可能允许其他类型和数量的参数;您必须检查实现的文档以确定它支持什么。main()预期返回零表示成功,非零表示失败。不需要显式地编写return声明main()*如果你让main()不显式返回return声明,就像你写的一样return 0;..以下两个main()函数具有相同的行为:int main() { }int main() { return 0; }有两个宏,EXIT_SUCCESS和EXIT_FAILURE,定义为也可以从main()分别表示成功和失败。返回的值main()传递给exit()函数,它终止程序。请注意,所有这些只在为宿主环境进行编译时才适用(非正式地说,在这种环境中,您有一个完整的标准库,并且有一个运行您的程序的操作系统)。还可以为独立环境(例如,某些类型的嵌入式系统)编译C+程序,在这种情况下,启动和终止是完全由实现定义的,main()功能可能甚至不需要。但是,如果您是为现代桌面操作系统编写C+,则是为托管环境进行编译。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值