24小时热门版块排行榜    

CyRhmU.jpeg
查看: 763  |  回复: 4

hzsh2009

铜虫 (小有名气)

[求助] C++里pointer和dereference operator的用法

int number;
int *tommy;
tommy = &number;

When a pointer initialization takes place we are always assigning the reference value to where the pointer points (tommy), never the value being pointed (*tommy).

谁能解释下这什么意思啊?谢谢
还有就是dereference operator是什么意思呢?
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖


感谢参与,应助指数 +1
fegg7502: 金币+1, 应助指数+1, 专家考核, 3ks 2013-02-22 12:01:54
永远用元素的"地址",而不是它的值来初始化一个指针
dereference operator就是*,如果p是一个指针,*p就是它指向的地址的值

» 本帖已获得的红花(最新10朵)

matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2013-02-21 17:21:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hzsh2009

铜虫 (小有名气)

引用回帖:
2楼: Originally posted by libralibra at 2013-02-21 04:21:32
永远用元素的"地址",而不是它的值来初始化一个指针
dereference operator就是*,如果p是一个指针,*p就是它指向的地址的值

所以这里的reference value是什么?
还有初始化一个指针是什么意思呢?谢谢!
3楼2013-02-21 23:18:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hzsh2009

铜虫 (小有名气)

送鲜花一朵
引用回帖:
2楼: Originally posted by libralibra at 2013-02-21 04:21:32
永远用元素的"地址",而不是它的值来初始化一个指针
dereference operator就是*,如果p是一个指针,*p就是它指向的地址的值

能麻烦再解释下我下面问的问题吗?谢谢!
4楼2013-02-22 22:20:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

★ ★ ★ ★ ★ ★
hzsh2009: 金币+5, ★★★★★最佳答案, 好的我去看看,谢谢了哈! 2013-02-23 03:26:49
csgt0: 金币+1, 谢谢 2013-02-26 10:27:02
引用回帖:
4楼: Originally posted by hzsh2009 at 2013-02-22 22:20:53
能麻烦再解释下我下面问的问题吗?谢谢!...

看那句英文,reference value应该是 (&变量名),也就是取变量的地址
所以dereference 才是给指针加*,取得变量的值.reference和dereference就是下面的2个可逆的过程(指针'引用'变量的地址,给指针'解引用'可以得到变量的值):

类型* 指针 = &变量
*指针 = 变量的值

建议楼主找本c/c++基础书好好研究一下指针部分(谭浩强的书可能都够了,就看指针那一章).
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
5楼2013-02-23 00:48:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 hzsh2009 的主题更新
信息提示
请填处理意见