C プログラミングのテキストブックを調べていると、このコードが表示されます。
#include <stdio.h>
int j, k;
int *ptr;
int main(void)
{
j = 1;
k = 2;
ptr = &k;
printf("\n");
printf("j has the value %d and is stored at %p\n", j, (void *)&j);
printf("k has the value %d and is stored at %p\n", k, (void *)&k);
printf("ptr has the value %p and is stored at %p\n", (void *)ptr, (void *)&ptr);
printf("The value of the integer pointed to by ptr is %d\n", *ptr);
return 0;
}
私はそれを実行し、出力は次のとおりです。
j の値は 1 で、0x4030e0 に格納されます
k の値は 2 で、0x403100 に格納されますptr の値は 0x403100 で、0x4030f0 に格納されます
ptr が指す整数の値は 2 です。
私の質問は、コンパイラを介してこれを実行しなかった場合、このコードを見るだけでこれらの変数へのアドレスをどのように知ることができるでしょうか? 変数の実際のアドレスを取得する方法がわかりません。ありがとう!