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

地址问题 新手求教!

chenghan818 发布于 2012-03-10 23:04, 412 次点击
int b=(int)&a
为什么输出b 和 &a 的值不一样!
是因为所占字节不同吗?
4 回复
#2
非死亡!2012-03-10 23:25
其实是一样的,只是一个是整数表示的,一个是用科学计数法表示的.
你看看这个:
程序代码:
// Note:Your choice is C++ IDE
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
    int a=0;
    int b =(int) &a;
/*为什么输出b 和 &a 的值不一样!
是因为所占字节不同吗?
*/
    cout<<b<<endl;
    printf("%d",&a);
    return 0;
}
#3
a334453212012-03-11 23:06
你的数据定义a是什么型的??指针变量(地址变量),用的时候要注意的
#4
BianChengNan2012-03-12 09:48
个人感觉肯定一样,不一样很可能是十进制和十六进制的不一样,楼主可以都用十六进制看一下,应该是一样的。
#5
pangding2012-03-13 00:59
可以用
cout << (void *)p << endl;
这样的方法输出指针。

一般就是 16 进制的。
1