C++ Lezione 6: una introduzione ai puntatori
Benvenuti al sesto tutorial della serie. Questo è uno su un argomento di cui avrete o meno già sentito parlare... i puntatori. Che cosa sono, che cosa fanno, perché dovremmo occuparcene? Primo, perché dovremmo occuparcene.
Dobbiamo occuparci dei puntatori perché permettono di accedere alla memoria, poi rendono l'accesso agli array più veloce, sono inoltre necessari per comprendere alcune funzioni. Più importante, li vedrete moltissimo nel codice di altre persone. Potrete non avere bisogno di usarli molto, ma sarà estremamente importante capirli.
Secondo, cosa fanno. Bene, potrei anche trattare questo argomento insieme a che cosa sono. I puntatori sono quello che sembrano... puntatori. essi puntano a locazioni in memoria. Immaginate questo: un grande vaso che contiene una cosa, il nome di un altro vaso. Nell'altro vaso c'è il valore di un integer. I vasi sono le locazioni di memoria. Il vaso che contiene il nome dell'altro vaso è un puntatore. Esso punta all'altro contenitore.
Come possiamo usarli? Bene, osservate questo piccolo stralcio di codice:
#include <iostream.h>
void main()
{
int x;
int *pointer;
pointer=&x;
cin>>x;
cout<<*pointer;
}
Indovinato! Il cout restituisce il valore in x. Perché succede questo? Bene, guardate il codice. L'integer è chiamato x. Quindi un puntatore ad un integer è chiamato pointer. L'asterisco(*) significa che quello è un puntatore. Quindi passo la locazione di memoria di x al puntatore utilizzando il simbolo ampersand(&). Esso dà la locazione di memoria della variabile a cui è davanti. Per esempio, se il vaso che ha un integer ha anche un ampersand, restituirà il suo nome, o locazione.
Quindi l'utente inserisce il valore di x. Poi il cout usa il * per inviare il valore memorizzato nella locazione di memoria del puntatore. Huh? immaginate ancora i vasi. Se il vaso con dentro il nome dell'altro vaso ha un * davanti, restituirà il valore memorizzato nel vaso con lo stesso nome di quello nel vaso col nome. Non è così difficile, il * restituisce il valore nella locazione. Quello senza asterisco restituisce la locazione di memoria.
Spero che questa sia stata almeno una introduzione interessante ai puntatori. Vi sconsiglio di perderci troppo tempo per non fare cose poco piacevoli sul vostro computer; ora però dovreste avere capito meglio di cosa si tratta.
---
Nota: La mia homepage è http://www.cprogramming.com. La mia email è webmaster@cprogramming.com. Vi prego di mandarmi una email con commenti e/o suggerimenti. Se volete usare questo tutorial nel vostro sito, vi prego di mandarmi una email e dia aggiungere un link a http://www.cprogramming.com.
Grazie :)