注册 登录
编程论坛 C++教室

关于C++变量地址

meteora1106 发布于 2008-10-25 13:07, 2094 次点击
c里用&取变量地址后是16进制的,如:a=&b;
怎么才能转换成10进制的呢,有直接的函数吗?还有这个赋予地址值的变量a应该定义成什么类型啊?
11 回复
#2
zxwangyun2008-10-25 13:19
怎么想到要这样操作地址呢?
#3
meteora11062008-10-25 17:31
想用地址的差值计算一个对象的大小么
#4
lockhawk2008-10-25 23:12
要转换成10进制的恐怕要手动吧?变量a是地址,很明显应该是指针类型
#5
lionmusicyj2008-10-25 23:51
怎么才能转换成10进制的呢,有直接的函数吗?
貌似没有~C语言里面有,但是C++还没有看到过

赋予地址值的变量a应该定义成什么类型
肯定是指针变量啦~
指针本来就是用来存放地址的

不过有点要注意的,C++里面对&进行了重载,int& a,这中是引用变量,而像LZ的那种形式就是取地址~!
如果有高手知道C++里面有像C里面可以对输出字符格式函数,请告诉一下哈~谢谢了~!
#6
meteora11062008-10-26 11:55
谢谢大家的帮助啊!
#7
youhm2008-10-26 15:13
强制类型转换不行吗?
(int)&b
#8
lyshyhuangli2008-10-29 16:57
试试
cout<<dec<<xxxx<<endl;
#9
中学者2008-10-29 17:06
printf("%ld",&a); - -
#10
随心2008-10-29 17:08
int型的就可以吧,16进制,习惯了就好了
#11
nwpu0634172008-10-29 23:28
[bo][un]lyshyhuangli[/un] 在 2008-10-29 16:57 的发言:[/bo]

试试
cout

我试了,好像不可以。。。
另外,楼主想计算一个对象大小直接用十六进制也一样嘛
#12
meteora11062008-11-08 23:54
谢谢大家的热情帮助啊!真的十分感谢!
1