我试图找到数组元素的内存地址,但输出结果是十六进制的。如果你能告诉我如何将其转换为十进制输出,我将不胜感激。在C++中将输出从十六进制转换为十进制
下面是代码,
#include<iostream>
using namespace std;
int main()
{
int a[4];
cout << "Address of a[0] = " << &a << endl;
cout << "Address of a[1] = " << &a[1] << endl;
cout << "Address of a[2] = " << &a[2] << endl;
cout << "Address of a[3] = " << &a[3] << endl;
cin.get();
return 0;
}
'cout <<“a [0] =”<< std :: dec <<(int)&a << endl;' – karlphillip
@karlphillip'int的地址可能不够大,特别是如果您处理更多比2GB RAM和'int'是32位。无论如何,我不认为它是便携式的,尽管它大部分时间都在做这项工作。 – vsoftco
至少编译器让你知道它是否不够大。 *错误:从指针转换为较小的类型'int'会丢失信息* – chris