Making an array element a reference to another variable

True enough, the code:

void setup() {
  Serial.begin(115200);
   int array [12];
   int &x = array [2];

}

does compile, but the code:

void setup() {
  Serial.begin(115200);
   int array [12];
   int &x = array [2];

   &x = array [2];
}

doesn't. The syntax works in the assignment statement because you are fixing the allocated memory address at the time of its definition. The last statement won't work because you are trying to change the lvalue of the variable after its been assigned. While your statement works in the assignment, I have difficulty seeing a valid use for that syntax.