Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Referencias y Desreferencias | Punteros
C Básico
course content

Contenido del Curso

C Básico

C Básico

1. Introducción
2. Datos
3. Operadores
4. Control de Declaraciones
5. Funciones
6. Punteros

book
Referencias y Desreferencias

Los punteros se construyen alrededor de dos operadores:

  • El operador de dirección &.
  • El operador de desreferencia *.

Operador de Dirección

El operador de dirección, representado por &, nos permite interactuar directamente con la RAM de nuestra computadora. Usar & te permite obtener la dirección de memoria real de un objeto.

c

Main

copy
123456789101112
#include <stdio.h> int main() { int x = 100; printf("Value of variable: %d\n", x); printf("Address of variable into RAM: %p\n", &x); // using reference operator `&` for getting address return 0; }

Nota

%p es el especificador de formato utilizado para direcciones (puntero).

Las direcciones se expresan típicamente en notación hexadecimal.

Piensa en el operador & como identificar la dirección de tu hogar usando tu nombre.

Operador de Desreferencia

Por el contrario, el operador * te da el nombre del residente cuando se le da su dirección. Entonces, ¿cómo podemos emplear este operador si no estamos tratando directamente con direcciones? Si tienes una expresión como &x, que devuelve la dirección de la variable x, aplicar el operador * a ella (*&x) te da el valor de la variable almacenada en esa dirección.

Nota

Esencialmente, *&x es lo mismo que x.

c

Main

copy
1234567891011121314
#include <stdio.h> int main() { int x = 100; printf("Value of variable: %d\n", x); printf("Address of variable in RAM: %p\n", &x); // using reference operator `&` printf("Dereferencing address of variable: %d", *(&x)); // using dereference operator `*` return 0; }

Nota

No confundas el operador de desreferencia (*x) con el operador de multiplicación (x*y).

Tarea
test

Swipe to show code editor

  • Crea un arreglo de enteros de 5 elementos y pueblalo.
  • Recupera la dirección del tercer elemento.
  • Incrementa la dirección del tercer elemento (es decir, dirección + 1).
  • Intenta desreferenciar la dirección obtenida en el paso anterior.
Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 6. Capítulo 2
toggle bottom row

book
Referencias y Desreferencias

Los punteros se construyen alrededor de dos operadores:

  • El operador de dirección &.
  • El operador de desreferencia *.

Operador de Dirección

El operador de dirección, representado por &, nos permite interactuar directamente con la RAM de nuestra computadora. Usar & te permite obtener la dirección de memoria real de un objeto.

c

Main

copy
123456789101112
#include <stdio.h> int main() { int x = 100; printf("Value of variable: %d\n", x); printf("Address of variable into RAM: %p\n", &x); // using reference operator `&` for getting address return 0; }

Nota

%p es el especificador de formato utilizado para direcciones (puntero).

Las direcciones se expresan típicamente en notación hexadecimal.

Piensa en el operador & como identificar la dirección de tu hogar usando tu nombre.

Operador de Desreferencia

Por el contrario, el operador * te da el nombre del residente cuando se le da su dirección. Entonces, ¿cómo podemos emplear este operador si no estamos tratando directamente con direcciones? Si tienes una expresión como &x, que devuelve la dirección de la variable x, aplicar el operador * a ella (*&x) te da el valor de la variable almacenada en esa dirección.

Nota

Esencialmente, *&x es lo mismo que x.

c

Main

copy
1234567891011121314
#include <stdio.h> int main() { int x = 100; printf("Value of variable: %d\n", x); printf("Address of variable in RAM: %p\n", &x); // using reference operator `&` printf("Dereferencing address of variable: %d", *(&x)); // using dereference operator `*` return 0; }

Nota

No confundas el operador de desreferencia (*x) con el operador de multiplicación (x*y).

Tarea
test

Swipe to show code editor

  • Crea un arreglo de enteros de 5 elementos y pueblalo.
  • Recupera la dirección del tercer elemento.
  • Incrementa la dirección del tercer elemento (es decir, dirección + 1).
  • Intenta desreferenciar la dirección obtenida en el paso anterior.
Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 6. Capítulo 2
Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
We're sorry to hear that something went wrong. What happened?
some-alt