先頭へ戻る

オブジェクト | Programming Place Plus 用語集

Programming Place Plus トップページ -- 用語集

先頭へ戻る

名称

このページでは、C言語C++ における用語「オブジェクト」を説明します。ほかに、オブジェクト指向の用語「オブジェクト」があります。


解説

プログラム実行中、を表現しているメモリ上の一部分のことです。

C言語の規格では、次のように定義されています。

その内容によって,値を表現することができる実行環境中の記憶域の部分。
参考 オブジェクトを参照する場合,オブジェクトは,特定の型をもっていると解釈してもよい
(JIS X 3010:2003 3.14 より)

つまり、値を表現していて、を持っていて、メモリ上にあるものがオブジェクトです。メモリ上にあるということは、メモリアドレスを使って(つまりポインタによって)その存在を示せるということでもあります。名前があるかどうかは問題になりません。

よく、オブジェクトのことを変数と呼んでいますが、実際には変数とは異なります。たとえば、malloc関数を使って、動的にメモリ領域を割り当てて、オブジェクトを配置できますが、この場合、オブジェクト自体は変数ではありません。malloc関数はメモリアドレスを返すので、通常これをポインタ変数で受け取りますが、この値はオブジェクトのメモリアドレスであって、オブジェクトそのものではありません。

malloc関数については、C言語編第35章を参照。

変数は、オブジェクトを参照するために名前を付けたものと捉えられます。変数を定義すると、メモリ上にオブジェクトが作られ、以降、そのオブジェクトを変数名を使って参照しています。


C++ ではオブジェクト指向プログラミングの機能が使えるため、オブジェクト指向における「オブジェクト」と混乱しますが、C++ 用語のオブジェクトは、C言語のオブジェクトを踏襲したものです。オブジェクト指向とは無関係なもの、たとえば int型の変数でもオブジェクトと呼べます。


参考リンク

更新履歴


用語集のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
Twitter でツイート Twitter をフォロー LINE で送る
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー