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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李竞还活着 中级黑马   /  2015-6-5 02:17  /  839 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 李竞还活着 于 2015-6-11 00:18 编辑

今天学到了实参形参,总结之后几乎没有什么问题,但是有一点不是太明白。
int sum(int x,inty)
函数sum里的x,y都是形参,不会在缓存中分配空间。
但是视频李老师讲到
int main(int argc,const char *argv[])
的时候,却说会给main函数括号里的两个变量分配空间。
是不是因为上面那个是被调用函数,而下面那个是main主函数?

5 个回复

倒序浏览
应该是这样,
回复 使用道具 举报
你理解错误,都是一样的,main是被系统或者编译器调用的;它们在调用之前都是参数列表里的形参都是没有分配空间的,只有调用的时候,才去给它们分配空间。main之所以看似已经分配空间了。其实它在程序运行时已经被隐式调用了。只是你不知道而已。
回复 使用道具 举报
yuang4074 发表于 2015-6-5 12:13
你理解错误,都是一样的,main是被系统或者编译器调用的;它们在调用之前都是参数列表里的形参都是没有分配 ...

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

嗯。。。。。。。。
回复 使用道具 举报
调用SUM函数时X Y也会分配存储空间吧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马