ポインタ
ポインタとは、メモリ上に存在する、実際のコンピュータのアドレスそのものを、指し示して、 そこを起点に、データの操作を行なうものです。ハードウエアのアドレスに直接アクセスしますので、 便利である反面、扱いが難しく、誤った使い方をすると、プログラムが暴走(CPUの制御がきかなくなる) する恐れを含んでいます。
コンピュータのアドレス
コンピュータのプログラミングを実行するためには、メモリとCPUが必要です。CPUはメモリ上にある プログラムを順番に処理していきますが、このメモリ上にあるデータの位置を、アドレスといいます。 このアドレスに相当する、入れ物の箱(例えば32ビットのデータ幅)に2進数の数値が格納されています。
アドレス | 0000 | 0001 | 0002 | 0003 | 0004 | 0005 | 0006 | 0007 | 0008 |
---|---|---|---|---|---|---|---|---|---|
データ | 0078 | 0da8 | 0018 | 0045 | 0078 | 0e9f | 040e | 0121 | 5078 |
ポインタは、コンピュータの実メモリ上の1点を定めるための変数で、そこを起点に、 アドレスを移動させたり、又は、その起点のデータ値そのものを参照したり、代入を行なったりするものです。
ポインタは、あらかじめ定義された変数に対して、そのアドレスを格納する変数であり、 ポインタに直接値を代入することは、できません。間接演算子により定義された 実際の値は、その格納されたアドレス値を先頭として、定義された変数型のサイズ (バイト)数分の中に変数の値として存在しています。