single
Adressen an Zeiger Zuweisen
Swipe um das Menü anzuzeigen
Bei der Arbeit mit Zeigern ist eine ordnungsgemäße Initialisierung wichtig, um sicherzustellen, dass sie auf gültige Speicheradressen verweisen 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 verwendet.
-
&: der Adressoperator, gibt die Speicheradresse seines Operanden zurück; -
*: der Dereferenzierungsoperator, gibt den Wert zurück, der an der Speicheradresse gespeichert ist.
main.cpp
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.
Wischen, um mit dem Codieren zu beginnen
In einem Bankensystem verfügt jeder Kunde über einen Kontostand. Transaktionen wie Einzahlungen oder Abhebungen können diesen Kontostand verändern. Allerdings dürfen Abhebungen den Kontostand nicht negativ werden lassen. Schreiben Sie ein Programm, das den Kontostand mithilfe von Zeigern aktualisiert und verwaltet.
Sie implementieren eine Funktion updateBalance, die die Transaktion durch Modifikation des Kontostands über einen Zeiger ausführt.
- Überprüfen Sie innerhalb der Funktion
updateBalance, ob es sich um eine Abhebung handelt, die zu einem negativen Kontostand führen würde:- Falls
amountnegativ ist und*p_balance + amount < 0, ist die Transaktion nicht erlaubt. - Geben Sie in diesem Fall
falsezurück.
- Falls
- Wenn die Transaktion zulässig ist, aktualisieren Sie den Kontostand, indem Sie amount zu
*p_balanceaddieren. - Geben Sie
truezurück, um eine erfolgreiche Transaktion anzuzeigen.
Lösung
Danke für Ihr Feedback!
single
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen