可以有任意多个,但是常用的是前三个:
创新互联建站自2013年创立以来,先为满城等服务建站,满城等地企业,进行企业商务咨询服务。为满城企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
第一个是一个整数,表示了传入的参数数量(包含程序路径本身在内)
第二个是一个字符指针数组,保存了传入的各个参数(包含程序路径本身在内,以字符串形式保存)
第三个是一个字符指针数组,保存了当前操作系统中的环境变量。
内存角度来看,函数的参数是要入栈的,栈区大小决定了参数的个数。一般C语言程序运行时默认1M的栈空间,以int类型的参数来看,1M=1024KB=1024*1024字节,32位系统中int类型占4个字节,所以理论上一个函数最多有262144个int类型的参数。实际中要远远小于这个数,因为应用程序中的局部变量都需要占用栈空间。
根据需要确定,一般情况下,最多有3个:
int
main(int
argc,char
*argv[],char
*envs[])
main函数可以不带参数,也可以带参数,这个参数可以认为是 main函数的形式参数。
C语言规定main函数的参数只能有两个,还规定argc(第一个形参)必须是整型变量,argv( 第二个形参)必须是指向字符串的指针数组。加上形参说明后,main函数的函数头应写为:
int main (int argc,char *argv[])
由于main函数不能被其它函数调用,因此不可能在程序内部取得实际值。那么,在何处把实参值赋予main函数的形参呢? 实际上,main函数的参数值是从操作系统命令行上获得的。当我们要运行一个可执行文件时,在DOS提示符下键入文件名,再输入实际参数即可把这些实参传送到main的形参中去。
DOS提示符下命令行的一般形式为:
C:\可执行文件名 参数 参数……