Menu
Coddy logo textTech

Aritmetica - Assegnazione

Lezione 3 di 14 del corso Puntatori in C++ di Coddy.

I puntatori, come altre variabili e tipi di dati, possono essere sottoposti a operazioni aritmetiche/matematiche.

Assegnazione dei valori

In un dato momento un puntatore può puntare a un solo indirizzo. Tuttavia, nel corso del programma questo può cambiare e il puntatore può essere modificato per puntare a qualcos'altro. 
Nota: più puntatori possono puntare alla stessa posizione.

int var = 5;
int *ptr = &var;
int *newPtr = ptr;
cout << "Pointer address: " << ptr << endl;
cout << "2nd pointer address: " << newPtr;
Output:
Pointer address: 0x7fffca8285cc
2nd pointer address: 0x7fffca8285cc

Il valore del puntatore ptr è stato assegnato a newPtr e ora entrambi i puntatori puntano alla stessa variabile var, ovvero all'indirizzo di memoria che contiene il valore 5

int x = 10;
int *ptr = &x;
int *newPtr = ptr;
cout << "x = " << x << endl;
cout << "ptr = " << ptr << endl;
cout << "*ptr = " << *ptr << endl;
*newPtr = 25;
cout << "x = " << x << endl;
cout << "newPtr = " << newPtr << endl;
cout << "*newPtr = "<< *newPtr;
Output:
x = 10
ptr = 0x7ffe28364c9c
*ptr = 10
x = 25
newPtr = 0x7ffe28364c9c
*newPtr = 25

Come puoi vedere, abbiamo la variabile intera x che è uguale a 10; dichiariamo i puntatori ptr e newPtr in modo che puntino alla stessa variabile x, come possiamo notare osservando gli indirizzi di memoria. Ora abbiamo cambiato il valore di *newPtr in 25 e questo ha modificato automaticamente il valore di x, poiché newPtr punta a essa.

quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

challenge icon

Sfida

Facile

Sullo standard input ti verranno forniti 2 numeri. Inseriscili in variabili a tua scelta; l’importante è creare un puntatore intero chiamato *ptr e inizializzarlo in modo che punti al primo numero. Poi assegna il valore del secondo numero al puntatore dereferenziandolo e stampa il suo valore sullo standard output

Provalo tu

#include <iostream>

using namespace std;

int main()
{
    
    // Inserisci il tuo codice
    
    return 0;
}

Tutte le lezioni di Puntatori in C++

Esercitati da solo: Compilatore C++ online