| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1054 人关注过本帖
标题:指针问题,我想了2个小时了还是不??
只看楼主 加入收藏
corrupt
Rank: 2
等 级:新手上路
威 望:3
帖 子:535
专家分:0
注 册:2004-9-29
收藏
 问题点数:0 回复次数:4 
指针问题,我想了2个小时了还是不??

void fun(student *&p,studen *&q)

{.......}

void main()

{

student *a[3]

.......;

fun(a[1],a[2]);

....} 这就可以,为什么

void fun(student *p,studen *q)

{.......}

void main()

{

student *a[3]

.......;

fun(a[1],a[2]);

....} 就不行了,我郁闷死了!

搜索更多相关主题的帖子: 指针 
2004-11-10 12:26
三少爷
Rank: 1
等 级:新手上路
帖 子:192
专家分:0
注 册:2004-4-29
收藏
得分:0 

老兄?到底哪个可以?什么叫可以?什么叫不可以啊?(可以编译?可以链接?形参可以改变实参值?还是可以得出正确答案?)

[此贴子已经被作者于2004-11-10 12:37:06编辑过]


2004-11-10 12:35
corrupt
Rank: 2
等 级:新手上路
威 望:3
帖 子:535
专家分:0
注 册:2004-9-29
收藏
得分:0 

上面那个可以,下面那个不可以(中国的语言博大精深啊)

下面那个编译有错误!

上面那个可以!


2004-11-10 12:42
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 

当然是这样了。

你来看第一个子程序

void fun(student *&p,studen *&q) 这里 *&p 表示一个object 实体,&为取地址,* 再取其地址下的值,所以 *&p 等同于 p 所以你在主程序中直接输入 object 实体

fun(a[1],a[2]); 是可以的,这里正确。

来看你第二个子程序

void fun(student *p,studen *q) 这里 *p 表示 p 为一个指向类型为 student 的某个 object 的指针。

而你在主程序中是这样写的 fun(a[1],a[2]); 这样是错的。应该改为

fun(&a[1],&a[2]); 这里 &a[1] 表示为 object a[1] 的地址。

你自己再试试, viel spass...


自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2004-11-10 20:31
corrupt
Rank: 2
等 级:新手上路
威 望:3
帖 子:535
专家分:0
注 册:2004-9-29
收藏
得分:0 

哦!!明白 了,我还一直以为&是 引用来着呢!!

谢谢了!!


2004-11-10 22:40
快速回复:指针问题,我想了2个小时了还是不??
数据加载中...
 
   



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

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