Ciao a tutti, sono un novello del forum ed anche della programmazione in C++, mi sto preparando per un esame dopo le feste e volevo chiedervi aiuto per alcune delucidazioni.
1_ ho studiato che l'istruzione &n, mi restituisce l'indirizzo della variabile n, che un puntatore, quando punta ad un oggetto immagazzina in se l'indirizzo dell'oggetto che punta, ma che se utilizzo l'operatore di reference, questo mi restituisce l'indirizzo del puntatore, che e' diverso dall'indirizzo dell'oggetto, faccio un esempio:
int main()
{
short a[3] = {11, 22, 33};//oggetto
cout << "Array a begins at location\t" << a << endl;
//indirizzo dell'oggetto, in questo caso indirizzo del primo elemento dell'array
short* p = a;//puntatore all'array
cout << endl << "&p = " << &p << endl;//indirizzo puntatore
int i = 0;
cout << endl << "&p[0] = " << &p[0] << endl;//il mio problema
//da quello che ho studiato qui dovrebbe stamparmi l'indirizzo di p, e invece mi stampa l'indirizzo
//dell'oggetto puntato da p. non capisco il perche', visto che l'indirizzo dell'elemento puntato
//da p e' memorizzato come valore di p, e p ha un suo indirizzo
}
2_devo studiare le strutture: liste, alberi, code, ecc...purtroppo il libro che ci fanno usare (non so se ne posso dire il nome) non parla di strutture da sole, ma le affronta con le classi, invece io a lezione le classi non le ho fatte, ma le strutture si. in casa ho trovato un libro di C che le affronta, posso studiarle da li o sono completamente diverse ? oppure sapreste consigliarmi un sito on line che affronta questi argomenti per il C++ ?
Grazie
Edit: Skynet - inserimento tag code.