| ア | イ | ウ | エ | オ |
| カ | キ | ク | ケ | コ |
| サ | シ | ス | セ | ソ |
| タ | チ | ツ | テ | ト |
| ナ | ニ | ヌ | ネ | ノ |
| ハ | ヒ | フ | ヘ | ホ |
| マ | ミ | ム | メ | モ |
| ヤ | ユ | ヨ | ||
| ラ | リ | ル | レ | ロ |
| ワ | ヰ | ヴ | ヱ | ヲ |
| ン |
| A | B | C | D | E |
| F | G | H | I | J |
| K | L | M | N | O |
| P | Q | R | S | T |
| U | V | W | X | Y |
| Z | 数字 | 記号 | ||
C/C++では、間接演算子*は単項演算子である。右辺値しか取らない。
この演算によってポインターの指すデータを得る操作のことをdereferenceという。
メモリーアドレスは数値であり、このためポインターも必然的に数値になる。
例えば、1000番地にある変数が格納されているとするなら、それは理論上、*1000 として参照できる。このように、アドレスは単なる通し番号なのである。
但しこれは原理を簡潔に説明するための例で、実際のプログラムで*1000という表記は使えない。なぜならポインターは、アドレスの他にデータ型(char、int、longなど)を持っていなければならないからである。*1000では、データ型が分からない。
そこで、単なる数値であるアドレスを、型キャストする。
*(int *)1000
これで、1000番地をint型変数として扱い、読み書きをすることが可能になる。
int x = 5; *(int *)1000 = x;
コメントなどを投稿するフォームは、日本語対応時のみ表示されます