これらのcコードをC++コードに変換したいと思います。それは私がprintfの出力を実行すると、そのようなものであるポインタのprintfについて書式cout for pointer
int n = 44;
//printf("n = %d \t &n = %x\n", n, &n);
cout<<"n ="<<n<< "\t" <<"&n ="<<hex<<int(&n)<<endl;
です:
n=44 &n=22ff1c
しかし、私はCOUT出力を実行したときにそのようなものです:
n=44 &n=22ff0c
行う理由2つのバージョンがnのアドレスに対して異なる値を出力しますか?
16進数は変数のメモリアドレスです。これは、プログラムを実行するたびに異なる値を持つことができます。 – Topo
私はprintfを実行するたびに、同じ答えを返します(&n = 22ff1c)。同じ方法で、Coutプログラムは同じ結果を返します(&n = 22ff0c) – cadyT
あなたの編集:2Cは44の16進数です –