このページで取り上げる意味以外に、マウスポインタの意味もあります。
いくつかのプログラミング言語がもつ機能で、メインメモリ上の位置を指し示すものです。
ポインタの機能をもつプログラミング言語として代表的なのは、C言語や C++ です。これらの言語では一般的に、指し示す先の位置を表すためにメモリアドレスを使います。
メインメモリ上には、定義済みの変数の値や、関数のコードなどが置かれていますから、それぞれを指し示すことができます。
関数を指し示す場合は関数ポインタと呼び、それ以外をオブジェクトポインタと呼び分けることもあります。また、C++ ではクラスの静的でないメンバを指し示すものはメンバポインタとして区別します。
なお、ポインタの値(メモリアドレスなど)を格納する型のことは、ポインタ型と呼びます。単に「ポインタ」と呼ぶ場合、ポインタという概念のこと、ポインタの値のこと、ポインタ型の変数(オブジェクト)のことなど、文脈によって異なることがあります。
ポインタ機能があると、メモリアドレスを使って、直接的にメモリへアクセスできるため、アセンブリ言語のような低級言語に近い操作が実現できる点で、強力で効率的です。反面、少しのプログラミングの間違いにより、想定していなかったメモリ領域を書き換えてしまったり(ダングリングポインタ、ワイルドポインタ)、バッファオーバーフローを起こしたりといった脆弱性を作り出してしまう恐れがあります。
ポインタに関する詳細な解説が、C言語編の第31章~第38章にあります。
Programming Place Plus のトップページへ
| はてなブックマーク に保存 | Facebook でシェア | X で ポスト/フォロー |
| LINE で送る | noteで書く |
|
| 管理者情報 | プライバシーポリシー |