single
Attribution d'Adresses aux Pointeurs
Glissez pour afficher le menu
Lors de l'utilisation des pointeurs, une initialisation correcte est essentielle afin de garantir qu'ils pointent vers des emplacements mémoire valides et d'éviter des comportements inattendus.
Opérateurs d'adresse et de déréférencement
Pour affecter une valeur à un pointeur, il est nécessaire d'utiliser l'opérateur adresse (&) et, pour accéder à la valeur stockée à l'adresse mémoire, il faut utiliser l'opérateur déréférencement.
-
&: l'opérateur d'adresse, retourne l'adresse mémoire de son opérande ; -
*: l'opérateur de déréférencement, retourne la valeur stockée à l'adresse mémoire.
main.cpp
12345678#include <iostream> int main() { int variable = 10; std::cout << &variable << std::endl; std::cout << *(&variable) << std::endl; }
En utilisant l’opérateur adresse de (&), il est possible d’assigner ces adresses à des pointeurs, créant ainsi un lien direct entre le pointeur et l’emplacement mémoire auquel il fait référence.
Glissez pour commencer à coder
Dans un système bancaire, chaque client possède un solde de compte. Les transactions telles que les dépôts ou les retraits peuvent modifier ce solde. Cependant, les retraits ne peuvent pas rendre le solde négatif. Écrire un programme qui met à jour et gère le solde du compte à l'aide de pointeurs.
Vous allez implémenter une fonction updateBalance qui effectue la transaction en modifiant le solde via un pointeur.
- À l'intérieur de la fonction
updateBalance, vérifier si la transaction est un retrait qui entraînerait un solde négatif :- Si
amountest négatif et que*p_balance + amount < 0, la transaction n'est pas autorisée. - Retourner
falsedans ce cas.
- Si
- Si la transaction est autorisée, mettre à jour le solde en ajoutant amount à
*p_balanceen utilisant la déréférenciation du pointeur. - Retourner
truepour indiquer une transaction réussie.
Solution
Merci pour vos commentaires !
single
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion