大功率无感电阻
NEWS

为什么C语言的主要功能是这样写的?

但是任何学习过C语言的人都知道您需要首先编写主要功能。

但是,我们看到的主要功能在许多情况下是不同的。

为什么是这样?哪个是对的?今天我们将讨论主要功能。

那么主要功能有几个版本? 1. Main()直接mian()没有返回值,也没有参数。

实际上,某些编译器将显示警告并返回int的默认值。

但是,实际上在C89标准中是可能的。

由于未声明返回类型,因此将返回默认值int。

2. void main()初学者经常使用的一种形式,但是他们不知道来源在哪里。

在诸如C89 / C99 / C11之类的文档中都没有提到这种形式的痕迹。

该写入方法的返回值是空的,没有参数。

值得注意的是,一旦声明为空,则在程序退出后,就不可能获得其退出状态。

因此,不建议返回值为空。

3. int main(void)是一种更常见的书写方式。

这种编写方式的形式参数是无效的,这意味着它在被调用时不能传递任何参数,因此它无法获取命令行参数。

4. Int main()似乎与上面的第三个相同,但是仍然存在一些差异。

以以下示例为例:#include& lt; stdio.h& gt;无效test(); int main(){test(4); return 0;} void test(int a){printf(“%d”,a);}该程序仍可以正常运行。

尽管测试函数被声明为没有参数,但是可以使用任何参数或不使用参数来调用它。

5. int main(int argc,char * argv [])int argc的输入参数是命令行参数的数量,而char * argv []的输入参数是命令行参数的数组。

这种写入方法也比较普遍,主要用于需要从命令行获取参数的函数中。

6. int main(int argc,char * argv [],char * envp [])包含三个参数,第五个参数的升级版,int argc是命令行参数的数量,char * argv []是一个数组命令参数char * envp []是环境变量的数组。

尽管仅比第六种类型多一个参数,但是全局变量environ可以代替envp的角色,并且getenv或putenv可以用于获取或设置环境变量,因此无需使用此格式。

这种编写方式主要源于编译器的扩展。

有很多写方法,哪一种是对的?请查看C89 / C99 / C11标准文档,该文档明确地固定了两种书写方式:int& nbmain; void(& nbsp; {& nbsp; / *& nbsp; ...& nbsp; * / & nbsp;} int main(int argc,char * argv []){/ * ... * /}因此,其他编写方法不符合标准,有些是历史遗留下来的,有些是编译器的扩展,有些人不知道他们来自哪里。

说了这么多,对于代码的一般可移植性,建议使用标准提供的格式,或者建议使用标准文档中指定的两种编写方法。

如果函数确定不需要传递任何参数,则使用void限定是一个不错的选择。

那么,您了解如何编写主要功能吗? -END-猜猜您喜欢雷军(Lei Jun)在1994年编写的经典和古董代码。

百度副总裁被捕! 60种人工工具,可以满足并讨厌后期的& nbsp;& nbsp;& nbsp; & nbsp;如果您认为本文不错,那么转发和共享也是我们继续更新的动力。

5T资源正在销售中!包括但不限于:C / C ++,Linux,Python,Java,PHP,人工智能,PCB,FPGA,DSP,labview,微控制器等!回复“更多资源”在官方帐户中,您可以免费获得它,并期待您的关注〜长按识别图片中的QR码关注

欢迎您的咨询