C言語の左値と右値


左の値は格納された場所をマークでき、右の値は値を指定できます.
L-valueのLはLocationを指し、アドレス可能を表す.The "l"in lvalue can be though of as location
R-valueのRはReadを指し、読み取り可能を表す.The "r"in rvalue can be thought of as "read"value.  
  
個人的な感覚では、左の値は正確な操作可能なアドレスを提供することができます.例えば、前の2つの付与文のように、左の値はすべて正しいです.それは特定のアドレスを提供しているからです.
変数名は、アドレスへの特別な参照です.3番目の付与文はエラーで、左の値が正しくありません.コンピュータがa+24を計算すると、結果はアドレスに存在しますが、これは私たちには未知です.
普通の整数定数のように左の値としてはいけません.それは不法な住所です.
int a;
int * p ;
a = 29;  //true 
*p = 30  //true
( a + 24) = 10 ; //false