As per textbook .
The address-of operator (§ 2.3.2, p. 52) requires an lvalue operand and returns a pointer to its operand as an rvalue.
int a = 6,c=9;
int *x = &a; //Here x is a lvalue.
x = &c;
As per my knowledge if we can assign , it is lvalue .Then why does textbook says address of return rvalue .Can anyone explain me this in layman language