これは何? 変数ってなに? という話。 値なのか、参照なのか、代入したらどうなるのか、とか。そのあたり。 いくつかの言語の事例 いくつかの言語の事例を書いてみる。 C言語の場合 C 言語の変数は(概念としては)型が付与された一連のメモリである。この文脈ではオブジェクトと言ってもいい。 変数の型が決まれば、バイト数が決まる。 オブジェクトの正体は、構造体かもしれないし、ポインタかもしれない。 「概念としては」と書いたのは、コンパイルの結果その変数自体が消滅したり、いろいろあり得るから。 C言語では、同じ「一連のメモリ」を別の変数が直接指すということはできない。そうしたければポインタを使う。 あるいは union を使えば異なるメンバが同じ「一連のメモリ」を指すことが出来る。