| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 509 人关注过本帖
标题:有个问题,大家来讨论下!
只看楼主 加入收藏
空穴来风
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-9-23
收藏
 问题点数:0 回复次数:5 
有个问题,大家来讨论下!
[size=4]小弟我是一个C++初学者,在学习的过程中遇到一个问题,想请教下大家!
是这样的:我们知道一般对一个指针变量进行赋值是,比如 int *a=&b;
而我们知道解引(*)和取地址(&)的优先级高于赋值(=).
那么*a=&b;这个表达式是相当于把b的地址赋给*a,而我们知道,在用的时候指针值是a ,而*a相当于是对象值了.
所以我认为表达式应该是a=&b;这种才合理,直接把b的指针值给a.但是书上不是 这样!
何解?????
[/size]
搜索更多相关主题的帖子: 表达式 优先级 
2008-09-23 09:30
chaming321
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-2-28
收藏
得分:0 
回复
只是把定义与赋值一起写了而已,有什么不理解的呢?
就当是 先int *a;a=&b就是了
2008-09-23 10:07
thanatus
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2006-8-16
收藏
得分:0 
在操作符重载的时候(此处的“*”既可以做乘号,也可以做指针定义符号,还可以做解除地址符号),为了正确识别 “*”的操作,所有c++编译器可以根据上下文自动判断“*”的语意~
就int *a=&b;来说,虽然“*”的位置无关紧要,但我个人的喜好是写成int* a=&b;这样更加清楚~
2008-09-23 11:48
newyj
Rank: 2
等 级:新手上路
威 望:3
帖 子:542
专家分:0
注 册:2008-1-4
收藏
得分:0 
int* a=&b可以这样理解a是int*型(指针)它所指向的是b的地址(int类型)&b
2008-09-23 12:47
huizengzh
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-8-19
收藏
得分:0 
这里的*它是有两种含义的
在定义指针时,int* a;表示所定义的a是一个指向int数据类型的指针;
(在int* a=&b;或者int* a;a=&b;的前提下)而在用的时候a的值是b的地址,*a的值为b的值.
2008-09-23 21:36
守鹤
Rank: 4
来 自:山東臨沂
等 级:贵宾
威 望:12
帖 子:337
专家分:0
注 册:2008-6-20
收藏
得分:0 
这里首定义了一个指针类型的数据 int *a;
然后将数据b的地址赋给a,即  a=&b;

而若写成int *a=&b; 这里*说明a是一个指针类型的数据,存放的是数据的地址
2008-09-24 01:20
快速回复:有个问题,大家来讨论下!
数据加载中...
 
   



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

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