Operador de desreferencia
Parte de la sección Lógica y Flujo del Journey de C++ de Coddy — lección 3 de 56.
*) becomes esencial.El operador dereference * se utiliza para acceder al valor almacenado en la address de memoria a la que está pointing un pointer. Cuando colocas * antes de una variable pointer, este "sigue" la address y te da el valor real almacenado allí.Recuerda que el operador de dirección (&) se utiliza para obtener la dirección de memoria de una variable, mientras que el operador de desreferenciación (*) se utiliza para acceder al valor en esa dirección.int number = 42;
int* ptr = &number; // ptr almacena la dirección de number
int value = *ptr; // value ahora contiene 42dereference para modificar la variable original a través del pointer. Cuando asignas un nuevo valor a *ptr, en realidad estás cambiando el valor almacenado en esa ubicación de memoria:*ptr = 100; // Cambia number a 100
// number es ahora 100, aunque lo modificamos a través de ptrDesafío
FácilCrea un programa que demuestre el operador de desreferencia modificando el valor de una variable a través de un puntero.
Se proporcionará la siguiente entrada:
- Un entero que representa el valor inicial para una variable
- Un entero que representa el nuevo valor a asignar a través del puntero
Tu programa debe:
- Declarar una variable entera llamada
temperaturee inicializarla con el primer valor de entrada - Crear un puntero llamado
tempPtrque apunte a la variabletemperature - Imprimir el valor original desreferenciando el puntero
- Usar el operador de desreferencia para cambiar el valor de
temperatureal segundo valor de entrada a través del puntero - Imprimir el nuevo valor desreferenciando el puntero de nuevo
Utiliza el siguiente formato de salida exacto:
Original value: [original value]
New value: [new value]Pruébalo tú mismo
#include <iostream>
using namespace std;
int main() {
// Leer valores de entrada
int initialValue, newValue;
cin >> initialValue;
cin >> newValue;
// TODO: Escribe tu código debajo
// 1. Declara la variable temperature e inicialízala con initialValue
// 2. Crea el puntero tempPtr apuntando a temperature
// 3. Print original value using pointer dereference
// 4. Cambia el valor de temperature a través del puntero usando newValue
// 5. Imprime el nuevo valor usando la desreferencia del puntero
return 0;
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Lógica y Flujo
1Punteros y memoria
¿Qué es un puntero?Operador de direcciónOperador de desreferenciaPunteros nulosPunteros y arraysMemoria dinámica con 'new'Liberar memoria con 'delete'Resumen: Práctica de punteros2Vectores (Arrays dinámicos)
Introducción a std::vectorCreación de un VectorAgregar elementosAcceder a los elementosTamaño del VectorIterar con un bucle ForBucle For basado en rangosEliminar elementosResumen - Operaciones con Vectores5Proyecto: Herramienta de inventario
Configuración del proyectoAgregar y actualizar artículos3Proyecto: Herramienta de lista de tareas
Descripción general del proyectoAñadir una tarea