私はC言語を学習し始めました(ポインタは分かります)。C言語におけるポインタの値
#include <stdio.h>
#include <string.h>
int main (int argc, char* argv[])
{
char c = 'c';
char* cptr = &c;
printf("c = %c\n", c);
printf("*cptr = %c\n", *cptr);
printf("c address = %p\n", &c);
}
私の出力は次のとおりです:私は10進数の上進数を変換すると
c = c
*cptr = c
c address = 0x7fff0217096f
は、私が手:140720994002157件の
私の質問:
私はこのコードを持っています
1)この10進値はメモリアドレスを表しますか?あまりにも大きすぎますか?
2)ポインタの値(つまり、c
変数のアドレス)を10進数で表示するにはどうすればよいですか?
をあなたのポインタの値が「大きすぎる」であると考えているのはなぜ? – EOF
@EOFまあ、140720994002157ビットは約1750GBに等しいですよね? – padawanTony
これは仮想アドレスであり、コンピュータのRAM容量を反映していません。 –