Świetnie opisuje to Stephen Prata w "C++ Szkoła programowania. Wydanie 6".
// Zwykła deklaracja zmiennej
int zmienna;
// utworzenie pustego wskaźnika
int * wskaznik;
// przypisanie wskaźnika do adresu zmiennej
wskaznik = &zmienna
Czyli możesz pobrać wartość z pamięci na dwa sposoby za pomocą zmienna lub * wskaznik a także pobrać adres w pamięci do danych za pomocą &zmienna lub wskaznik
# Alokacja pamięci
int * pn = new int; // alokacja pamięci na int
*pn = 100; zapisanie tam wartości
delete pn; //zwalnianie pamięci
Ważne, by zawsze przy pisaniu new od razu pisać delete, w tym znaczeniu, by nie zapomnieć o zwalnianiu pamięci, by nie doszło do wycieku pamięci. Dynamicznie alokuje się pamieć na tablice i struktury. I tyle wyczytałem w rozdziale 4 tej książki. Było coś wspomniane o klasie Vector i Array, ale jeszcze tam nie dotarłem :)