代入演算子の左辺に現れることが出来るのは変更可能な左辺値 (modifiable lvalue) で、
>>539 の例はその条件を満たす。
>>527
たとえば
int c = 1;
a = 2;
というのは C では有効なコードだけれど、変数を評価すると格納されている値になるというルールを
そのまま適用すると
1 = 2;
になってしまっておかしい、左辺は「場所」でないといけないという感覚はとても良い感性なのだけれど、
左辺がアドレスということにしたとしてもアドレスはポインタ型の「値」でしかないのでそれはそれで
なんだか変なことになる。
結局は特別な規則を導入必要はあって、 C においてはそれが lvalue という概念というわけ。
>>539 の例はその条件を満たす。
>>527
たとえば
int c = 1;
a = 2;
というのは C では有効なコードだけれど、変数を評価すると格納されている値になるというルールを
そのまま適用すると
1 = 2;
になってしまっておかしい、左辺は「場所」でないといけないという感覚はとても良い感性なのだけれど、
左辺がアドレスということにしたとしてもアドレスはポインタ型の「値」でしかないのでそれはそれで
なんだか変なことになる。
結局は特別な規則を導入必要はあって、 C においてはそれが lvalue という概念というわけ。