Programming Place Plus トップページ -- 用語集
このページでは、C言語や C++ における用語「オブジェクト」を説明します。ほかに、オブジェクト指向の用語「オブジェクト」があります。また、より一般的な意味での「オブジェクト」の使用例もあります。
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 で送る |
![]() |
管理者情報 | プライバシーポリシー |