Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Adressen an Zeiger Zuweisen | Section
C++-Zeiger und Referenzen
Abschnitt 1. Kapitel 2
single

single

bookAdressen an Zeiger Zuweisen

Swipe um das Menü anzuzeigen

Bei der Arbeit mit Zeigern ist eine korrekte Initialisierung wichtig, um sicherzustellen, dass sie auf gültige Speicheradressen zeigen und unerwartetes Verhalten vermieden wird.

Adress- und Dereferenzierungsoperatoren

Um einem Zeiger einen Wert zuzuweisen, muss der Adressoperator (&) verwendet werden. Um auf den Wert der Speicheradresse zuzugreifen, wird der Dereferenzierungsoperator benötigt.

  • &: der Adressoperator, gibt die Speicheradresse seines Operanden zurück;

  • *: der Dereferenzierungsoperator, gibt den Wert zurück, der an der Speicheradresse gespeichert ist.

main.cpp

main.cpp

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

Mit dem Adressoperator (&) können diese Adressen Zeigern zugewiesen werden, wodurch eine direkte Verbindung zwischen dem Zeiger und dem Speicherort, auf den er zeigt, hergestellt wird.

Aufgabe

Wischen, um mit dem Codieren zu beginnen

In einem Bankensystem verfügt jeder Kunde über ein Kontoguthaben. Transaktionen wie Einzahlungen oder Abhebungen können dieses Guthaben verändern. Abhebungen dürfen das Guthaben jedoch nicht negativ werden lassen. Schreiben Sie ein Programm, das das Kontoguthaben mithilfe von Zeigern aktualisiert und verwaltet.

Sie implementieren eine Funktion updateBalance, die die Transaktion durch Modifikation des Guthabens über einen Zeiger ausführt.

  1. In der Funktion updateBalance prüfen Sie, ob eine Abhebung zu einem negativen Saldo führt:
    • Falls amount negativ ist und *p_balance + amount < 0, wird die Transaktion nicht erlaubt.
    • Geben Sie in diesem Fall false zurück.
  2. Ist die Transaktion zulässig, aktualisieren Sie den Wert mit Hilfe der Dereferenzierung durch *p_balance.
  3. Geben Sie true zurück, um den Erfolg der Transaktion anzuzeigen.

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 2
single

single

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

some-alt