2016-04-24 9 views
1

変数のアドレスにおけるxの意義は何ですか?私は、クラスのデータメンバのアドレスを印刷しようとしています

#include <iostream> 

struct test { int x; }; 

int main() { 
    test t; 
    std::cout << &t.x << std::endl; 
} 

出力は次のとおりです。

0x23fe4c

私はこれを指してどのように理解していませんメモリアドレス。私は住所を表すこの方法の意味を知りたい。

+1

'0x'はアドレスの一部ではなく、出力が16進数であることを意味します。これは10進数では '2358860'です。 –

+0

'x'の前に' 0'を使用するのは何ですか? – a874

+2

文字シーケンス「0x」は整数リテラルが16進数であることを示します。 [ここ](http://en.cppreference.com/w/cpp/language/integer_literal)を参照してください。 –

答えて

3

接頭辞接頭辞は、後続の値がhexadecimalの値であることを示します。つまり、小数点以下10進数ではなく、基数(または基数)16で表されます。たとえば、0x1234abcdは、小数として書かれた1234abcd を意味し、小数として305441741 または単純に305441741です。これは、メモリアドレスおよびその他のコンピュータ関連またはプログラミング関連のコンテキストで使用される単なる1つの一般的な表現です。

関連する問題