黑马程序员技术交流社区

标题: 实参形参 [打印本页]

作者: 李竞还活着    时间: 2015-6-5 02:17
标题: 实参形参
本帖最后由 李竞还活着 于 2015-6-11 00:18 编辑

今天学到了实参形参,总结之后几乎没有什么问题,但是有一点不是太明白。
int sum(int x,inty)
函数sum里的x,y都是形参,不会在缓存中分配空间。
但是视频李老师讲到
int main(int argc,const char *argv[])
的时候,却说会给main函数括号里的两个变量分配空间。
是不是因为上面那个是被调用函数,而下面那个是main主函数?
作者: fixer    时间: 2015-6-5 07:27
应该是这样,
作者: yuang4074    时间: 2015-6-5 12:13
你理解错误,都是一样的,main是被系统或者编译器调用的;它们在调用之前都是参数列表里的形参都是没有分配空间的,只有调用的时候,才去给它们分配空间。main之所以看似已经分配空间了。其实它在程序运行时已经被隐式调用了。只是你不知道而已。
作者: 李竞还活着    时间: 2015-6-5 18:15
yuang4074 发表于 2015-6-5 12:13
你理解错误,都是一样的,main是被系统或者编译器调用的;它们在调用之前都是参数列表里的形参都是没有分配 ...

也就是说其实main()函数头中的参数并没有分配空间,只有运行到main()函数体里头才会分配空间?
作者: yuang4074    时间: 2015-6-5 18:18
李竞还活着 发表于 2015-6-5 18:15
也就是说其实main()函数头中的参数并没有分配空间,只有运行到main()函数体里头才会分配空间? ...

嗯。。。。。。。。
作者: 马贺飞    时间: 2015-6-8 09:48
调用SUM函数时X Y也会分配存储空间吧




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2