鱼C论坛

 找回密码
 立即注册
查看: 2142|回复: 1

带默认参数的函数问题

[复制链接]
发表于 2011-12-20 17:11:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
带默认参数的函数在被调用前,其默认值的存放位置在哪?
如有个函数:
int sum(int x,int y=5);//说明部分
int main()
{
      .......
      return 0;
}
int sum(int x,int y)
{
     int  z;
     z=x+y;
     return z;
}
请问sum函数在main函数调用之前,默认值5在内存中的位置。因为形参在调用前是不分配内存的啊,这个5又放哪呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-12-20 18:41:10 | 显示全部楼层
默认值不存在内存中,编译器编译程序的时候将记住默认值,当你调用该函数的时候若有必要编译器将默认值填上。就是说默认值仅仅对编译器“可见”,程序执行的时候根本不知道有默认值这一回事。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-27 05:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表