Operatore di dereferenziazione
Fa parte della sezione Logica e flusso del percorso C++ di Coddy. Lezione 3 di 56.
*) diventa fondamentale. L'operatore di dereferenziazione * viene usato per accedere al valore memorizzato all'indirizzo di memoria a cui punta un puntatore. Quando metti * prima di una variabile puntatore, «segue» l'indirizzo e ti restituisce il valore effettivamente memorizzato lì.Ricorda che l'operatore indirizzo di (&) viene usato per ottenere l'indirizzo di memoria di una variabile, mentre l'operatore di dereferenziazione (*) viene usato per accedere al valore a quell'indirizzo.int number = 42;
int* ptr = &number; // ptr memorizza l'indirizzo di number
int value = *ptr; // value ora contiene 42*ptr, stai in realtà modificando il valore memorizzato in quella posizione di memoria:*ptr = 100; // Modifica number portandolo a 100
// number ora vale 100, anche se lo abbiamo modificato tramite ptrSfida
FacileCrea un programma che dimostri l’operatore di dereferenziazione modificando il valore di una variabile tramite un puntatore.
Verranno forniti i seguenti dati in input:
- Un intero che rappresenta il valore iniziale di una variabile
- Un intero che rappresenta il nuovo valore da assegnare tramite il puntatore
Il tuo programma deve:
- Dichiarare una variabile intera denominata
temperaturee inizializzarla con il primo valore di input - Creare un puntatore denominato
tempPtrche punta alla variabiletemperature - Stampare il valore originale dereferenziando il puntatore
- Usare l’operatore di dereferenziazione per modificare il valore di
temperatureimpostandolo al secondo valore di input tramite il puntatore - Stampare il nuovo valore dereferenziando nuovamente il puntatore
Usa il seguente formato di output esatto:
Original value: [original value]
New value: [new value]Provalo tu
#include <iostream>
using namespace std;
int main() {
// Leggi i valori di input
int initialValue, newValue;
cin >> initialValue;
cin >> newValue;
// TODO: Scrivi il tuo codice qui sotto
// 1. Dichiara la variabile temperature e inizializzala con initialValue
// 2. Crea il puntatore tempPtr che punta a temperature
// 3. Stampa il valore originale dereferenziando il puntatore
// 4. Modifica il valore di temperature tramite il puntatore usando newValue
// 5. Stampa il nuovo valore dereferenziando il puntatore
return 0;
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Logica e flusso
1Puntatori e memoria
Che cos'è un puntatore?Operatore indirizzoOperatore di dereferenziazionePuntatori nulliPuntatori e arrayMemoria dinamica con 'new'Liberare la memoria con 'delete'Riepilogo - Esercizi sui puntatori2Vettori (array dinamici)
Introduzione a std::vectorCreare un vettoreAggiungere elementiAccedere agli elementiDimensione del vettoreIterare con un ciclo forCiclo for basato su intervalloRimuovere elementiRiepilogo - Operazioni sui vettori5Progetto: strumento per l’inventario
Configurazione del progettoAggiunta e aggiornamento degli articoli3Progetto: Strumento per l’elenco delle attività
Panoramica del progettoAggiungere un’attivitàEsercitati da solo: Compilatore C++ online