🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Esercizi Pointer C++

Codegrind Team•Jul 22 2023

Ecco degli esercizi semplici con soluzione per praticare le basi dei pointer in C++.

Esercizio 1

Dichiarare un puntatore a interi e assegnargli l'indirizzo di una variabile intera. Successivamente, stampare il valore della variabile tramite il puntatore.
#include <iostream>
using namespace std;

int main() {
    int numero = 10;
    int* puntatore = &numero;

    cout << "Valore della variabile: " << *puntatore << endl;

    return 0;
}

Esercizio 2

Dichiarare un puntatore a caratteri e assegnargli l'indirizzo di una stringa. Successivamente, stampare la stringa tramite il puntatore.
#include <iostream>
using namespace std;

int main() {
    char* puntatore;
    char stringa[] = "Ciao Mondo";
    puntatore = stringa;

    cout << "Stringa: " << puntatore << endl;

    return 0;
}

Esercizio 3

Dichiarare un puntatore a float e assegnargli l'indirizzo di un array di float. Successivamente, calcolare la somma degli elementi dell'array tramite il puntatore.
#include <iostream>
using namespace std;

int main() {
    float array[] = {2.5, 3.7, 1.2, 5.9, 4.3};
    float* puntatore = array;
    float somma = 0;

    for (int i = 0; i < 5; i++) {
        somma += *(puntatore + i);
    }

    cout << "Somma degli elementi dell'array: " << somma << endl;

    return 0;
}

Esercizio 4

Dichiarare un puntatore a interi e assegnargli l'indirizzo di una variabile intera. Incrementare il valore della variabile tramite il puntatore e stamparne il risultato.
#include <iostream>
using namespace std;

int main() {
    int numero = 5;
    int* puntatore = &numero;

    (*puntatore)++;

    cout << "Nuovo valore della variabile: " << numero << endl;

    return 0;
}

Esercizio 5

Dichiarare un puntatore a interi e assegnargli l'indirizzo di una variabile intera. Moltiplicare il valore della variabile per 2 tramite il puntatore e stamparne il risultato.
#include <iostream>
using namespace std;

int main() {
    int numero = 8;
    int* puntatore = &numero;

    *puntatore *= 2;

    cout << "Nuovo valore della variabile: " << numero << endl;

    return 0;
}

Esercizio 6

Dichiarare un puntatore a caratteri e assegnargli l'indirizzo di una stringa. Stampare la lunghezza della stringa tramite il puntatore.
#include <iostream>
#include <cstring>
using namespace std;

int main() {
    char* puntatore;
    char stringa[] = "Hello";
    puntatore = stringa;

    int lunghezza = strlen(puntatore);

    cout << "Lunghezza della stringa: " << lunghezza << endl;

    return 0;
}

Esercizio 7

Dichiarare un puntatore a interi e assegnargli l'indirizzo di una variabile intera. Chiedere all'utente di inserire un nuovo valore tramite il puntatore e stampare il nuovo valore della variabile.
#include <iostream>
using namespace std;

int main() {
    int numero = 10;
    int* puntatore = &numero;

    cout << "Inserisci un nuovo valore: ";
    cin >> *puntatore;

    cout << "Nuovo valore della variabile: " << numero << endl;

    return 0;
}

Esercizio 8

Dichiarare un puntatore a float e assegnargli l'indirizzo di una variabile float. Stampare il valore della variabile tramite il puntatore con una precisione di due decimali.
#include <iostream>
#include <iomanip>
using namespace std;

int main() {
    float valore = 3.14159;
    float* puntatore = &valore;

    cout << "Valore della variabile: " << fixed << setprecision(2) << *puntatore << endl;

    return 0;
}

Esercizio 9

Dichiarare un puntatore a int e assegnargli l'indirizzo di un array di interi. Stampare gli elementi dell'array tramite il puntatore utilizzando un ciclo while.
#include <iostream>
using namespace std;

int main() {
    int array[] = {1, 2, 3, 4, 5};
    int* puntatore = array;

    int i = 0;
    while (i < 5) {
        cout << "Elemento " << i + 1 << ": " << *(puntatore + i) << endl;
        i++;
    }

    return 0;
}

Esercizio 10

Dichiarare un puntatore a un array di caratteri e assegnargli l'indirizzo di una stringa. Verificare se la stringa è vuota tramite il puntatore e stampare un messaggio di conseguenza.
#include <iostream>
using namespace std;

int main() {
    char stringa[] = "";
    char* puntatore = stringa;

    if (*puntatore == '\0') {
        cout << "La stringa è vuota." << endl;
    } else {
        cout << "La stringa non è vuota." << endl;
    }

    return 0;
}