Osoitinmuuttujaa voitaisiin kuvitella myös seuraavasti: Olkoon meillä osoitekirja ( osoitteet) jossa on sivuja:
Meidän osoitekirjamme on tavallaan taulukko osoittimista (tässä tapauksessa osoitteita, älä sotke termejä!). Taulukon osoitteet paikassa 1 (sivu 1) on osoite " Sepe Sudelle ". Mitä tapahtuu mikäli kirjoitamme kokonaan uuden henkilön osoitteen sivulla 1 olevan osoitteen päälle (sijoitetaan uusi arvo osoitinmuuttujalle sivu[1])?
Mitä tapahtuu " Sepe Sudelle "? Tuskinpa sijoitus osoitekirjassamme siirtää " Sepe Sutta " yhtään mihinkään " Perämetsästä", tai tekee edes häntä murheelliseksi! Tämä on eräs tyypillinen virhekäsitys osoitinmuuttujia käytettäessä. Osoitinmuuttujaan sijoittaminen ei muuta tietenkään itse tiedon sisältöä. Mutta sijoittaminen siihen paikkaan johon osoitinmuuttuja osoittaa (esimerkissämme " Sepe Suden " asuntoon) muuttaa tietenkin myös itse tiedon sisältöä.
// C++:lla sivu[1] = uusi_osoite; // ei vaikuta Sepe Suteen *sivu[1] = uusi_henkilo; // laittaa uuden henkilön Sepen osoitteeseen // = "tähdätään osoitetta pitkin" // Javalla sivu[1] = uusi_osoite; // ei vaikuta Sepe Suteen sivu[1].setNimi("Batman") // tämän lähemmäksi Javalla ei pääse
Vastaavasti jos meillä on indeksimuuttuja nimeltä snro, niin sijoitus muuttujalle
snro=2
ei muuta mitenkään itse sivun sisältöä. Vasta sijoitus
sivu[snro]=
muuttaisi sivun 2 sisältöä.