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経由。