Das hängt davon ab, wie der Compiler kompiliert, würde ich denken.
-Wenn beim Kompilieren jede Instanz einer Variablen in eine endgültige Adresse dekodiert wird, können Sie die Adresse einer regulären Variablen nicht ändern.
-Wenn beim Kompilieren jede Instanz einer Variablen dekodiert wird, um auf eine Stelle in einer Nachschlagetabelle für ihre Adresse zu verweisen, könnte dies möglich sein, obwohl man am besten sicherstellt, dass die Adresse, auf die man sie setzt, zugewiesen ist.
Beispiel: Die Adresse der Variablen A ist 0x1000, und der an 0x1000 gefundene Wert ist 0x2000, also ist der Inhalt von A an 0x2000. Um die Adresse von A zu ändern, ändern Sie einfach den Wert an 0x1000. Setzen Sie den Wert von 0x1000 auf 0x3000 und der Inhalt von A steht dann bei 0x3000.
Ja, so funktionieren Zeiger, aber es könnte sein, dass ein Compiler sie unter der Haube gleich behandelt (reguläre Variablen sind einfach Zeiger, die automatisch dereferenziert werden). Natürlich könnten Sie auch einfach alle Variablen zu Zeigern machen und sich auf eine Menge Dereferenzierungen in Ihrem Code einstellen.