Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Assegnazione di indirizzi ai puntatori | Sezione
Puntatori e Riferimenti in C++
Sezione 1. Capitolo 2
single

single

bookAssegnazione di indirizzi ai puntatori

Scorri per mostrare il menu

Quando si lavora con i puntatori, una corretta inizializzazione è importante per garantire che puntino a posizioni di memoria valide ed evitare comportamenti imprevisti.

Operatori di indirizzo e dereferenziazione

Per assegnare un valore a un puntatore è necessario utilizzare l'operatore address-of (&) e per accedere al valore dell'indirizzo di memoria si deve usare l'operatore di dereferenziazione.

  • &: operatore address-of, restituisce l'indirizzo di memoria del suo operando;

  • *: operatore di dereferenziazione, restituisce il valore memorizzato all'indirizzo di memoria.

main.cpp

main.cpp

copy
12345678
#include <iostream> int main() { int variable = 10; std::cout << &variable << std::endl; std::cout << *(&variable) << std::endl; }

Utilizzando l'operatore address-of (&), è possibile assegnare questi indirizzi ai puntatori, creando un collegamento diretto tra il puntatore e la posizione di memoria a cui fa riferimento.

Compito

Scorri per iniziare a programmare

In un sistema bancario, ogni cliente possiede un saldo di conto. Le transazioni, come depositi o prelievi, possono modificare questo saldo. Tuttavia, i prelievi non possono rendere il saldo negativo. Scrivere un programma che aggiorni e gestisca il saldo del conto utilizzando i puntatori.

Si implementerà una funzione updateBalance che esegue la transazione modificando il saldo tramite un puntatore.

  1. All'interno della funzione updateBalance, verificare se la transazione è un prelievo che porterebbe il saldo a un valore negativo:
    • Se amount è negativo e *p_balance + amount < 0, la transazione non è consentita.
    • In questo caso, restituire false.
  2. Se la transazione è consentita, aggiornare il saldo aggiungendo amount a *p_balance tramite dereferenziazione del puntatore.
  3. Restituire true per indicare che la transazione è avvenuta con successo.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 2
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

some-alt