C++puntatori


introduzione

Un puntatore è un indirizzo che fa riferimento a una posizione in memoria. Sono comunemente usati per consentire a funzioni o strutture di dati di conoscere e modificare la memoria senza dover copiare la memoria a cui si fa riferimento. I puntatori sono utilizzabili sia con tipi primitivi (built-in) che definiti dall'utente.

I puntatori utilizzano "dereferenzia" * , "indirizzo di" & , e "freccia" -> operatori. Gli operatori '*' e '->' sono usati per accedere alla memoria puntata, e l'operatore & viene usato per ottenere un indirizzo in memoria.

Sintassi

  • <Tipo di dati> * <Nome variabile>;
  • <Tipo di dati> * <Nome variabile> = & <Nome variabile dello stesso tipo di dati>;
  • <Tipo di dati> * <Nome variabile> = <Valore dello stesso tipo di dati>;
  • int * foo; // Un puntatore che punta a un valore intero
  • int * bar = & myIntVar;
  • long * bar [2];
  • long * bar [] = {& myLongVar1, & myLongVar2}; // Uguale a: long * bar [2]

Osservazioni

Essere consapevoli dei problemi quando si dichiarano più puntatori sulla stessa linea.

int* a, b, c; //Only a is a pointer, the others are regular ints.

int* a, *b, *c; //These are three pointers!

int *foo[2]; //Both *foo[0] and *foo[1] are pointers.

puntatori Esempi correlati