A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

int main(){
}中的int 表示main函数的返回值为整形,main是主函数名称,()里应为主函数的参数,我想问的是()里的参数到底怎么用的?什么时候是空参数,有参数时是怎样的?C语言执行过程:源代码经过编译器编译,此时的函数库也会被编译成.o后缀目标文件吗,接着与函数库一起进行链接,怎么链接的?,最终形成.out可执行文件。

2 个回复

倒序浏览
问题一:参数怎用?
main()函数既可以是无参函数,也可以是有参的函数。对于有参的形式来说,就需要向其传递参数。但是其它任何函数均不能调用main()函数。当然也同样无法向main()函数传递,只能由程序之外传递而来。这个具体的问题怎样解决呢?
我们先看一下main()函数的带参的形式:
main(int argc,char *argv[])
{
.....
}
从函数参数的形式上看,包含一个整型和一个指针数组。当一个C的源程序经过编译、链接后,会生成扩展名为.EXE的可执行文件,这是可以在操作系统下直接运行的文件,换句话说,就是由系统来启动运行的。对main()函数既然不能由其它函数调用和传递参数,就只能由系统在启动运行时传递参数了;

    在编译连接好得到一个可执行文件test.exe后,将在系统执行这个可执行文件时,将参数一起传入,./test.exe a b c d

a b c d 分别为四个参数,其关系为 :

argc = 5
argv[0]=./test.exe
argv[1]=a
argv[2]=b
argv[3]=c
argv[4]=d
问题二:什么时候为参数?
当你不需要往main中传入参数时就就可以为空.

回复 使用道具 举报
谢谢,大神
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马