single
Asignación de Direcciones a Punteros
Desliza para mostrar el menú
Al trabajar con punteros, la inicialización adecuada es importante para asegurar que apunten a ubicaciones de memoria válidas y evitar comportamientos inesperados.
Operadores de dirección y desreferenciación
Para asignar un valor al puntero debemos usar el operador de dirección (&) y para acceder al valor de la dirección de memoria debemos usar el operador de desreferenciación.
-
&: operador de dirección, devuelve la dirección de memoria de su operando; -
*: operador de desreferenciación, devuelve el valor almacenado en la dirección de memoria.
main.cpp
12345678#include <iostream> int main() { int variable = 10; std::cout << &variable << std::endl; std::cout << *(&variable) << std::endl; }
Mediante el operador de dirección (&), es posible asignar estas direcciones a los punteros, creando un vínculo directo entre el puntero y la ubicación de memoria a la que apunta.
Desliza para comenzar a programar
En un sistema bancario, cada cliente tiene un saldo de cuenta. Las transacciones, como depósitos o retiros, pueden modificar este saldo. Sin embargo, los retiros no pueden hacer que el saldo sea negativo. Escriba un programa que actualice y gestione el saldo de la cuenta utilizando punteros.
Implementará una función updateBalance que realiza la transacción modificando el saldo a través de un puntero.
- Dentro de la función
updateBalance, verifique si la transacción es un retiro que resultaría en un saldo negativo:- Si
amountes negativo y*p_balance + amount < 0, la transacción no está permitida. - Devuelva
falseen este caso.
- Si
- Si la transacción está permitida, actualice el saldo sumando amount a
*p_balanceusando desreferenciación de puntero. - Devuelva
truepara indicar una transacción exitosa.
Solución
¡Gracias por tus comentarios!
single
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla