ポインタ | Programming Place Plus 用語集

トップページ用語集

名称 🔗

このページで取り上げる意味以外に、マウスポインタの意味もあります。

解説 🔗

いくつかのプログラミング言語がもつ機能で、メインメモリ上の位置を指し示すものです。

ポインタの機能をもつプログラミング言語として代表的なのは、C言語C++ です。これらの言語では一般的に、指し示す先の位置を表すためにメモリアドレスを使います。

メインメモリ上には、定義済みの変数や、関数コードなどが置かれていますから、それぞれを指し示すことができます。

関数を指し示す場合は関数ポインタと呼び、それ以外をオブジェクトポインタと呼び分けることもあります。また、C++ ではクラス静的でないメンバを指し示すものはメンバポインタとして区別します。

なお、ポインタの値(メモリアドレスなど)を格納する型のことは、ポインタ型と呼びます。単に「ポインタ」と呼ぶ場合、ポインタという概念のこと、ポインタの値のこと、ポインタ型の変数(オブジェクト)のことなど、文脈によって異なることがあります。

ポインタ機能があると、メモリアドレスを使って、直接的にメモリへアクセスできるため、アセンブリ言語のような低級言語に近い操作が実現できる点で、強力で効率的です。反面、少しのプログラミングの間違いにより、想定していなかったメモリ領域を書き換えてしまったり(ダングリングポインタワイルドポインタ)、バッファオーバーフローを起こしたりといった脆弱性を作り出してしまう恐れがあります。

ポインタに関する詳細な解説が、C言語編第31章第38章にあります。


参考リンク 🔗

更新履歴 🔗


用語集のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Facebook でシェア X で ポストフォロー
LINE で送る noteで書く rss1.0 取得ボタン RSS
管理者情報 プライバシーポリシー
先頭へ戻る