Operador de dirección
Parte de la sección Lógica y Flujo del Journey de C++ de Coddy — lección 2 de 56.
Ahora que entiendes qué es un puntero, necesitas aprender cómo obtener realmente la dirección de memoria de una variable. Aquí es donde entra en juego el operador de dirección (&).
El operador de dirección & se coloca antes del nombre de una variable para obtener su dirección de memoria. Cuando usas &variable_name, devuelve la ubicación en memoria donde se almacena esa variable.
int number = 42;
int* ptr = &number; // ptr ahora almacena la dirección de numberEn este ejemplo, &number obtiene la dirección de memoria de la variable number, y asignamos esa dirección a nuestro puntero ptr. El puntero no contiene el valor 42; contiene la dirección donde se almacena el 42.
Esta conexión entre una variable y su puntero es esencial para trabajar con la memoria directamente. Una vez que tienes un puntero que almacena una dirección, puedes usarlo para acceder o modificar la variable original de forma indirecta.
Desafío
FácilCrea un programa que demuestre el operador de dirección trabajando con una variable entera y un puntero.
Declara una variable entera llamada score e inicialízala con el valor 85.
Crea un puntero llamado scorePtr que almacene la dirección de memoria de la variable score utilizando el operador de dirección.
Imprime la dirección de memoria almacenada en el puntero utilizando el siguiente formato:
Address: [memory address]La dirección de memoria se mostrará en formato hexadecimal (como 0x7fff5fbff6ac), que es como C++ muestra típicamente las direcciones de memoria.
Hoja de referencia
El operador de dirección & se utiliza para obtener la dirección de memoria de una variable:
int number = 42;
int* ptr = &number; // ptr almacena la dirección de numberCuando usas &variable_name, devuelve la ubicación en memoria donde se almacena esa variable. El puntero contiene la dirección, no el valor real de la variable.
Pruébalo tú mismo
#include <iostream>
using namespace std;
int main() {
// TODO: Escribe tu código a continuación
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