Cプログラミング言語でポインターがどのように使用されるかを見てみましょう。
2つの変数を扱います。
aptr
2つの主要な文字にも対応します。
- where would return the address location of variable - where means follow the memory address stored in ptr and set that location to 8
a
はメモリ内のアドレス0x8130にあり、ptr
は0x8134にあります。また、これが32ビットマシンであり、intが32ビットであると想定します。サイズ。次のコードスニペットが実行された後のメモリの内容は次のとおりです。
int a = 5;int *ptr = NULL;
アドレス | コンテンツ |
---|---|
0x8130 | 0x00000005 |
0x8134 | 0x00000000 |
(ここに表示されているNULLポインターは0x00000000です。)a
のアドレスをptr
:
ptr = &a;
次のメモリ値を生成します:
アドレス | コンテンツ |
---|---|
0x8130 | 0x00000005 |
0x8134 | 0x00008130 |
次に、コーディングによってptr
を逆参照します:
*ptr = 8;
コンピューターはptr
(0x8130)の内容で、そのアドレスを「検索」し、その場所に8を割り当てて、次のメモリを生成します。
アドレス | コンテンツ |
---|---|
0x8130 | 0x00000008 |
0x8134 | 0x00008130 |
明らかに、a
にアクセスすると、前の命令で
ポインターptr
経由。