Koncepty programování: Ukazatele

Pojďme se podívat na to, jak se používají ukazatele v programovacím jazyce C.

Budeme se zabývat dvěma proměnnými:

aptr

Setkáme se také se dvěma klíčovými postavami:

- where
would return the address location of variable
- where
means follow the memory address stored in ptr and set that location to 8

Předpokládejme, že a je umístěn na adrese 0x8130 v paměti a ptr na 0x8134; předpokládejme také, že se jedná o 32bitový stroj, takže int je 32 bitů velikost. Toto by bylo v paměti po provedení následujícího fragmentu kódu:

int a = 5;int *ptr = NULL;

adresa obsah
0x8130 0x00000005
0x8134 0x00000000

(Zde zobrazený ukazatel NULL je 0x00000000.) Přiřazením adresy a k ptr:

 ptr = &a;

poskytuje následující hodnoty paměti:

Adresa Obsah
0x8130 0x00000005
0x8134 0x00008130

Potom dereferencí ptr kódováním:

 *ptr = 8;

počítač převezme obsah ptr (což je 0x8130), „vyhledejte“ tuto adresu a přiřaďte tomuto umístění 8, čímž získáte následující paměť:

adresa obsah
0x8130 0x00000008
0x8134 0x00008130

Je zřejmé, že přístup k a přinese hodnotu 8, protože předchozí instrukce upravila obsah

pomocí ukazatele ptr.

Leave a Reply

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *