Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Adressen Toewijzen aan Pointers | Section
C++ Pointers en Referenties
Sectie 1. Hoofdstuk 2
single

single

bookAdressen Toewijzen aan Pointers

Veeg om het menu te tonen

Bij het werken met pointers is een correcte initialisatie belangrijk om ervoor te zorgen dat ze naar geldige geheugenlocaties verwijzen en onverwacht gedrag te voorkomen.

Address-of- en dereference-operatoren

Om een waarde aan de pointer toe te wijzen, moet de address-of (&) operator worden gebruikt en om de waarde van het geheugenadres te benaderen, moet de dereference operator worden gebruikt.

  • &: de address-of-operator, retourneert het geheugenadres van zijn operand;

  • *: de dereference-operator, retourneert de waarde die is opgeslagen op het geheugenadres.

main.cpp

main.cpp

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

Met de adres-van (&) operator kunnen we deze adressen toewijzen aan pointers, waardoor er een directe koppeling ontstaat tussen de pointer en de geheugenlocatie waarnaar deze verwijst.

Taak

Veeg om te beginnen met coderen

In een banksysteem heeft elke klant een rekeningstand. Transacties zoals stortingen of opnames kunnen deze balans wijzigen. Opnames mogen de balans echter niet negatief maken. Schrijf een programma dat de rekeningstand bijwerkt en beheert met behulp van pointers.

Je implementeert een functie updateBalance die de transactie uitvoert door de balans via een pointer aan te passen.

  1. Controleer binnen de functie updateBalance of de transactie een opname is die zou resulteren in een negatieve balans:
    • Als amount negatief is en *p_balance + amount < 0, is de transactie niet toegestaan.
    • Retourneer in dit geval false.
  2. Als de transactie is toegestaan, werk dan de balans bij door het bedrag op te tellen bij *p_balance via pointer-dereferencing.
  3. Retourneer true om aan te geven dat de transactie succesvol is uitgevoerd.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 2
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

some-alt