Pointerek, címek és változók
Vegyünk egy másik kódot:
int theVariable = 5;
int * pPointer = theVariable;
Ábra. 8.3. Memória elosztási rendszer
Adatok elérése keresztül pointerek
Listing 8.2. Adatok elérése keresztül pointerek
1: // lista 8.2. használata pointerek
5: typedef unsigned short int USHORT;
8: USHORT myAge; // változó
9: USHORT * page = 0; // pointer
11: cout <<"myAge: " < 12: page = &myAge; // számít egy oldalt adrzs myAge 13: cout <<"*pAge: " <<*pAge <<"\n\n"; 14: cout <<"*pAge = 7\n"; 15: * page = 7; // hozzárendeli a myAge 7 16: cout <<"*pAge: " <<*pAge <<"\n"; 17: cout <<"myAge: " < 18: cout <<"myAge = 9\n"; 20: cout <<"myAge: " < 21: cout <<"*pAge: " <<*pAge <<"\n"; Elemzés: myAge típusa unsigned short Page, egy mutató az ilyen típusú: két deklaráljuk a programban. A 10 vezetéken, a változó oldal hozzárendelve érték 5, és a 11. sor értéke jelenik meg. A 19. sor értéke myAge ismét változott. Most ez a változó sorszámot 9. Továbbá, a 20. és 21. utalunk ezt az értéket közvetlenül (egy változó) és visszahivatkozási a mutatót is. Listing 8.3. Mi van írva az index? 1: // lista 8.3. Mi van tárolva az index? 3: #include 8: unsigned short int myAge = 5, yourAge = 10; 9: unsigned short int * PAGE = &myAge; // pointer 10: cout <<"myAge:\t" < 11: cout <<"&myAge:\t" <<&myAge <<"\t&yourAge;\t" <<&yourAge <<"\n"; 12: cout <<"pAge;\t" < 13: cout <<"*pAge:\t" <<*pAge <<"\n"; 14: page = &yourAge; // mutató átváltoztató 15: cout <<"myAge:\t" < 16: cout <<"&myAge:\t" <<&myAge <<"\t&yourAge:\t" <<&yourAge <<"\n"; 17: cout <<"pAge:\t" < 18: cout <<"*pAge:\t" <<*pAge <<"\n"; 19: cout <<"&pAge:\t" <<&pAge <<"\n"; myAge: 5 yourAge: 10 myAge: 0x355C yourAge: 0x355E myAge: 5 yourAge: 10 myAge: 0x355C yourAge: 0x355E (Az eredmények eltérőek lehetnek.) Ahhoz, hogy állapítsa meg a mutatót, írja első típusú változó vagy objektum fog hivatkozni ez a mutató, és helyezzük egy csillaggal (*), és a mögötte - az új kurzor nevét, például: unsigned short int * pPointer = 0; unsigned short int theVariable = 5; unsigned short int * pPointer = theVariable; Ahhoz, hogy egy mutató hivatkozás feloldási, meg előtte a nevét dereference operátor (*): unsigned short int theValue = * pPointer Mik a jelei • Tárolja az adatokat szabad memória területek és az azokhoz való hozzáférést; • hozzáférés a változók és függvények osztályok; • át úgy paraméterek, a link funkciót. A fennmaradó fejezetet szentel a dinamikus adatkezelési és műveletek változók és az osztály funkcióit.Kapcsolódó cikkek