(转)
main()函数既可以是无参函数,也可以是有参的函数。
main()函数带参形式:
main (int argc, char * argv[]) {
......
}
对于有参的形式来说,就需要向其传递参数。
但是其它任何函数都不能调用此函数,当然也同样无法传递参数值,只能由程序之外传递而来即系统在启动运行时传递参数了。
举例: 编译生成 helloWorld.exe后,执行: ./helloWorld.exe a b c d ( 共4各参数),此时:
argc=5,
argv[0] = ./helloWorld.exe
argv[1] = a
argv[2] = b
argv[3] = c
argv[4] = d
所以,argc参数表示了命令行中参数的个数(文件名本身也算一个参数),argc的值是在输入命令行时由系统按实际参数的个数自动赋予的;argv参数是字符串指针数组,其各元素值为命令行中各字符串(参数均按字符串处理)的首地址,指针数组的长度即为参数个数。