C语言的main函数。
发布网友
发布时间:2022-04-19 21:02
我来回答
共3个回答
热心网友
时间:2023-06-26 08:59
这个是历史原因
在现行标准中,main函数必须返回一个int类型值来通知调用者结束的状态.
但是早期是没有这个规定的.
参数用一个void表示,这个函数没有参数.和不写参数是一样的.但是用作指针声明时,不写参数表式参数个数不是确定的,写上了void表示这个指针所指的函数一定是没参数的.
而main函数呢,它的调用是一个入口,入口的地方会把系统传来的参数个数加1后作为一个整型数.然后把参数和程序名用一个二级指针指向它,并把它们压栈后调用main的入口,然后才会正式执行main函数.
所以main函数的参数是可以乱写的,比如下面的程序可正常运行
#include<stdio.h>
int main(int a, int b, int c,int d, int e)
{
printf("Hello\n");
}
但是相要正确读取系统传来信息,只能写成
int main(int argc,char **argv)
这样的形式,当然参数名是可以随便定的,只要合法就可以,二级指针也可以写成兼容的其它写法,比如char[][] argv, char[] * 都是可以的.
不写当然也是可以的,而且在不需要接收命令行参数时这样写更简单.
int main() 这样写不是可以少写几个字?
热心网友
时间:2023-06-26 09:00
main()函数的参数用于程序接收命令行参数,如果所写的程序无需接收命令行参数,就可以用void参数。
热心网友
时间:2023-06-26 09:00
void 就是没有