C umožňuje vytvořit situaci, kdy více ukazatelů odkazuje na stejné místo v paměti. Můžete deklarovat více ukazatelů a nechat je všechny ukazovat na stejnou proměnnou. To není jen teoretická vlastnost. To se děje neustále v reálném kódu.
Zvažte následující úryvek:
Zde p získává adresu i. “q” dělá to samé. Potom r nabývá hodnoty p. Protože p ukládá adresu i, r nyní také ukazuje na i. Operátor přiřazení zkopíruje adresu z pravé strany na levou. Nekopíruje data. Kopíruje umístění.
Po provedení těchto řádků získala proměnná i aliasy. Nyní můžete odkazovat na celé číslo i přes jeho původní název nebo přes kterýkoli z ukazatelů.
Proměnná i má nyní čtyři názvy: i, *p, *q a *r.
Neexistuje žádné pevné omezení počtu ukazatelů, které mohou uložit stejnou adresu. Řetěz ukazatelů můžete prohloubit podle potřeby. Změna *p a *r uvidí změnu. Všichni se dívají na stejnou paměťovou buňku.
Libovolný počet ukazatelů může ukazovat na stejnou adresu.
Toto chování je zásadní pro fungování ukazatelů. Toto není zvláštní případ. Toto je výchozí chování. Pochopení tohoto pomáhá vyhnout se zmatkům při ladění. Pokud uvidíte neočekávané hodnoty, zkontrolujte, zda více ukazatelů nemění stejné umístění. Není to magie. Je to jen vzpomínka.


























