Menu
Coddy logo textTech

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 number

En 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.

challenge icon

Desafío

Fácil

Crea 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 number

Cuando 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;
}
quiz iconPonte a prueba

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