| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1994 人关注过本帖
标题:结构体的初始化
只看楼主 加入收藏
qinxinhai
Rank: 1
来 自:湖南长沙
等 级:新手上路
帖 子:237
专家分:0
注 册:2008-4-27
收藏
得分:0 
回复 10# 的帖子
C只有传值这一种传参方式?
为什么我们老师说还有地址传递.
比如说数组?

我秀我自己
2008-05-09 13:38
锐不可挡
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-3-24
收藏
得分:0 
传址其实也是传值=传地址值
只是稍微特殊一点
所以有时候会特意提出来说
2008-05-09 16:18
moonwalker
Rank: 1
等 级:新手上路
威 望:1
帖 子:909
专家分:2
注 册:2007-3-2
收藏
得分:0 
[bo]以下是引用 [un]StarWing83[/un] 在 2008-5-9 03:23 的发言:[/bo]

你确定??
a的类型是char[10],绝对不是char*。在数组传参的时候,a会自动退化为const char*,然后再传值[/bo]给char*。所以看起来好像传给函数的时候,和char*是一样的。但是char[10]和char*有着本质的不同!
顺便说一下因为C只 ...

表述可能不是很准确,我的意思只是想说明a.name是个地址,更准确的说应该是char[]而不是char[10],其实主要楼主能明白就好。

“视频教程网”免费提供教学资源
C不限制你的自由!
条件是自己承担滥用自由的恶果!
2008-05-09 19:23
yd4433
Rank: 1
等 级:新手上路
帖 子:404
专家分:0
注 册:2008-3-9
收藏
得分:0 
[bo]以下是引用 [un]qinxinhai[/un] 在 2008-5-9 13:38 的发言:[/bo]

C只有传值这一种传参方式?
为什么我们老师说还有地址传递.
比如说数组?

数组 指针 按地址传递 都属于传参 (这样就有了形参和实参)

------...-.-..-...-----........-------.......----.....------....||- - !
2008-05-09 19:29
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
C只有传值一种方式。C++有传值和引用两种方式。
传址和引用区别在于。引用变量和原变量完全相同,你对引用变量做的任何事情都和对原变量做的效果一样。而传址,下面有个例子:
char* StrCpy(char* dest,const char* source)
{
    while(*dest++ = *source++);
    return dest;
}

这里,dest是传址,但是照样可以把dest当作普通局部变量使用(这里是自加),而对原指针无影响。如果是传引用,那么自加过后,原指针的值就会发生改变了。
应该说,就是因为传值,所以才有了形参和实参的本质区别。而如果只是传引用的话,形参和实参是完全相同的。

引用上面某一楼的发言:传址是特殊的传值,所以才特别加以说明。

[[it] 本帖最后由 StarWing83 于 2008-5-10 05:43 编辑 [/it]]

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-05-10 05:41
易醉人
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2008-4-5
收藏
得分:0 
StarWing83   解答的很好,这种精益求精的态度值得我好好学习。。。
2008-05-10 08:50
faminxmu
Rank: 3Rank: 3
来 自:厦门
等 级:论坛游侠
帖 子:191
专家分:106
注 册:2008-4-23
收藏
得分:0 
回复大家
首先感谢大家对我的帮助,但我个人觉得这个是非常简单的东西,貌似你们的讨论离开了我的主题了吧??貌似我不是在问你们值的传递方式,我只是问某个方法为什么不行而已,你们讨论了那么多好象太离谱了吧??

在虚拟的世界中寻找目标。
2008-05-10 17:36
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
9#已经给出完美回答了,LZ看答案要仔细……

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-05-10 21:45
快速回复:结构体的初始化
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017337 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved