| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦   
共有 267 人关注过本帖
标题:函数默认参数的问题?
收藏  订阅  推荐  打印
newyj
Rank: 4
等级:高级会员
威望:2
帖子:506
积分:5886
注册:2008-1-4
函数默认参数的问题?

函数默认的参数 也是在调用时 分配内存吗?
2008-9-12 20:27
守鹤
Rank: 12Rank: 12Rank: 12
来自:山東臨沂
等级:版主
威望:11
帖子:312
积分:3472
注册:2008-6-20

我认为是分配内存的
2008-9-12 21:50
blueboy82006
Rank: 12Rank: 12Rank: 12
来自:幻想世界
等级:版主
威望:16
帖子:1212
积分:12084
注册:2007-7-23

不知道是不是在调用时分配...

闭关修炼中!......
2008-9-12 22:57
中学者
Rank: 12Rank: 12Rank: 12
等级:版主
威望:11
帖子:3368
积分:34470
注册:2007-9-14

int f();
int g(int i=0);
int (*fun_1)() = f; //OK
int (*fun_2)() = g; //not OK
int (*fun_3)(int) = g; //OK;
很明显,默认参数只是个便宜事儿..。和其他函数一样...只是压参数的时候如果用默认值就压默认值,如果自己赋值就压自己的值.

汇编.....
2008-9-13 10:47
newyj
Rank: 4
等级:高级会员
威望:2
帖子:506
积分:5886
注册:2008-1-4

谢谢楼上的回答
也就是说 默认参数也只是在 调用时 才分配内存的
不过 没有默认参数 是在 调用 函数时 主调函数传递给 被调函数 形参的值 这时 才知道 再分配内存
而 有默认参数的时候 主调函数在没有 调用函数时 那默认参数在那里保存
2008-9-13 12:17
blueboy82006
Rank: 12Rank: 12Rank: 12
来自:幻想世界
等级:版主
威望:16
帖子:1212
积分:12084
注册:2007-7-23
回复 4# 中学者 的帖子

哦,学习了。。。

闭关修炼中!......
2008-9-13 12:32
blueboy82006
Rank: 12Rank: 12Rank: 12
来自:幻想世界
等级:版主
威望:16
帖子:1212
积分:12084
注册:2007-7-23
回复 5# newyj 的帖子

LZ干嘛不用标点符号啊? 用那么多空格,看着费劲。。。

闭关修炼中!......
2008-9-13 12:34
zhong0711101
Rank: 2
等级:注册会员
帖子:87
积分:950
注册:2008-7-15

学习了啊
2008-9-14 17:36
fjfhnui
Rank: 2
等级:注册会员
帖子:57
积分:795
注册:2007-6-18

函数的形参不占用空间,但是实参占用
2008-9-16 21:41
共有 266 人关注过本帖
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.065082 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved