我試圖找到數組元素的內存地址,但輸出結果是十六進制的。如果你能告訴我如何將其轉換爲十進制輸出,我將不勝感激。在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