Если я запускаю следующий код:
int main(){
int x = 0;
int* y = &x;
&x = y;
}
Я получаю ошибку:
lvalue требуется в качестве левого операнда присваивания
Iпонимать, что это означает, что при использовании оператора addressof созданный указатель не является допустимым lvalue, как это отражено в документации c.
Мой вопрос просто: почему?
По какой причине я не могу изменить значение указателя на мою переменную x?Это для того, чтобы программист не допустил ошибок, или это принципиально не имеет смысла (в этом случае, пожалуйста, объясните почему.)