法大奥山研究室

 previous  contents

10. ポインタ(Pointer)


 C言語で扱えるデータの内,実数型,関数型,配列型の扱い方を見ました。残りの複素数型,ポインタ型,構造体型の内,ここではポインタ型を見ます。

 ポインタ型データとは,アドレスのことです。「アドレス」とはメモリ箇所の番地です。メモリの1単位は1バイト,そして,それが連なってメモリは構成されています。例えば,次のような具合です。

アドレス | 8257 | 8258 | 8259 | 8260 | 8261 |
値    | 't'  | 'e'  | 's'  | 't'  | '\0' |

アドレス 8257 のメモリ箇所に記憶されている値は,文字定数で表すと 't' という意味です。ポインタ型データは,値側ではなく,アドレス側のデータのことです。そして,ポインタ型データを扱う変数を,単にポインタと言います。

 アドレス自体は十六進法で表すと 0x7fff53c8db84 のように固定的に存在しますが,C言語ではデータの型によって確保するメモリ領域が異なるため,記憶するデータの型によってポインタも区別します。記憶するデータ(上の表の値側)の型がT の場合,アドレスをT へのポインタ型データであると考えます。型T被参照型(referenced type)と言い,ポインタ型は被参照型からの派生型となります。


 previous  contents