Copy Link
Add to Bookmark
Report

C++ Lezione 6: una introduzione ai puntatori

papero's profile picture
Published in 
LezioniC
 · 3 years ago

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 :)

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT