Condición para lvalues y rvalues en C
Aquí están las pocas definiciones que leí sobre valores.
Expresiones que pueden ser usadas con & operator. es decir, si & (expresión) no es un error, entonces la expresión es un lvalue
Expresión que da como resultado objetos que no son temporales.
Las expresiones de valores pueden usarse tanto en RHS como en LHS de = operator
Las expresiones de valor pueden usarse solo en RHS
Por favor corrija si está equivocado
Aquí está la pregunta
Leo ++ x es un lvalue y x ++ es un rvalue
int i = 0;
printf("%p",(void*)&++i);
Si es así, ¿por qué es esto un error?
Si lvalue expresiones pueden usarse en lhs
int i = 0;
++i = 10;
¿Por qué no puedo usar la declaración anterior? Ambas cosas anteriores dan como resultado errores
Actualización: Ambas afirmaciones anteriores están bien en C ++