C语言中的main()函数

1:main()函数到底有何用途?
2:main()函数是否为用户自定义函数或是库函数?
3:main()函数如果为库函数那么在括号内输入的内容会被怎样处理?
main()函数如果为用户自定义函数,那么是否在圆括号内的内容是一些代码,来定义main的用途?
4:main()通常还包括{ },请问花括号内应该输入些什么呢?

一、定义

main函数,又称主函数,是程序执行的起点,main是相对来说的,如同音学理论之主调于泛音,泛音即程序中的除main之外的其他函数,迎合人们的思考方式而生成的而非必定的模式.有主有次,执行起来条清缕析,既可将程序模块化又实现了一个闭合的整体。

二、main()函数的形式

在最新的 C99 标准中,只有以下两种定义方式是正确的:

int main( void )  /* 无参数形式 */
{
...
return 0;
}
int main( int argc, char *argv[] ) /* 带参数形式 */
{
...
return 0;
}
int指明了main()函数的返回类型 ,函数名后面的圆括号一般包含传递给函数的信息。void表示没有给函数传递参数。

三、main()函数的返回值

从前面我们知道main()函数的返回值类型是int型的,而程序最后的 return 0; 正与之遥相呼应,0就是main()函数的返回值。那么这个0返回到那里呢?返回给操作系统,表示程序正常退出。

因为return语句通常写在程序的最后,不管返回什么值,只要到达这一步,说明程序已经运行完毕。而return的作用不仅在于返回一个值,还在于结束函数。

四、main()函数的参数

C编译器允许main()函数没有参数,或者有两个参数 (有些实现允许更多的参数,但这只是对标准的扩展)。这两个参数,一个是int类型,一个是字符串类型。

第一个参数是命令行中的字符串数。按照惯例(但不是必须的),这个int参数被称为argc(argument count)。第二个参数是一个指向字符串的指针数组。命令行中的每个字符串被存储到内存中,并且分配一个指针指向它。

按照惯例,这个指针数组被称为argv(argument value)。系统使用空格把各个字符串格开。一般情况下,把程序本身的名字赋值给argv[0],接着,把最后的第一个字符串赋给argv[1] ,等等。

扩展资料

C++中的main函数的应用:

C++继承了C语言的大部分特性,因此保留了“程序总是从main函数开始执行,且总是默认从main函数的return语句或结尾处结束运行”这一传统,但是要注意,C++中的main函数要想作为程序执行的出入口,必须写在全局(Global)范围,不能写成某个结构体或某个类的成员。

虽然main函数可以作为结构体或者类的成员函数,但相应地会失去作为程序出入口的功能。C++中全局main函数的书写格式与C语言完全相同,功能也完全相同,且同一C++程序同样只能有一个全局main函数。

参考资料:百度百科——main函数

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-06-24
日常生活中,要完成一件复杂的功能,我们总是习惯把“大功能”分解为多个“小功能”以实现。在C++程序的世界里,“功能”可称呼为“函数”,因此“函数”其实就是一段实现了某种功能的代码,并且可以供其它代码调用。
一个程序,无论复杂或简单,总体上都是一个“函数”;这个函数就称为“main 函数”,也就是“主函数”。比如有个“做菜”程序,那么“做菜”这个过程就是“主函数”。在主函数中,根据情况,你可能还需要调用“买菜,切菜,炒菜”等子函数。
[编辑本段]main函数的参数
C程序最大的特点就是所有的程序都是用函数来装配的。main()称之为主函数,是所有程
序运行的入口。其余函数分为有参或无参两种,均由main()函数或其它一般函数调用,若调用
的是有参函数,则参数在调用时传递。
第2个回答  2015-05-18
C语言中的主函数固定名为:main(),每个系统中必须有一个,且只能有一个。它 是第一个运行的函数。
一般情况下,main()写在文件的最后面,其他被调用的函数放在前面,这样定义函数之前可以不加声明,如果放在主函数之后,则必须先声明,再定义,再被调用。
第3个回答  2010-06-24
1.main()函数本质上和普通的f(x)函数是一样的,只是程序会寻找main开始运行
2.1里面讲了,main可以成为用户自定义的函数,有返回值,不过这样大多数情况下没有意义,所以常见 void main,不是库函数,库函数指的是有一定功能的函数
3.
4.这两问用1都可以很好解释
第4个回答  2010-06-24
main()
{}
此函数是程序的入口函数,每个程序都必须要有这个函数
相似回答