Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Referencias y Desreferencias | Indicadores
Fundamentos de C
course content

Contenido del Curso

Fundamentos de C

Fundamentos de C

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

Referencias y Desreferencias

Los punteros se construyen en torno a 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 memoria RAM de nuestro ordenador. El uso de & permite obtener la dirección real de memoria 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 normalmente en notación hexadecimal.

Piense en el operador & como si identificara la dirección de su casa utilizando su nombre.

Operador de Desreferencia

Por el contrario, el operador * nos da el nombre del residente cuando se nos 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, al aplicarle el operador * (*&x) obtienes 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("Dereferenssing address of varialbe: %d", *(&x)); // using dereference operator `*` return 0; }

Nota

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

Tarea

  1. Crea un array de enteros de 5 elementos y rellénalo.
  2. Recupera la dirección del tercer elemento.
  3. Incrementa la dirección del tercer elemento (es decir, address + 1).
  4. Intenta desreferenciar la dirección obtenida en el paso anterior.

Tarea

  1. Crea un array de enteros de 5 elementos y rellénalo.
  2. Recupera la dirección del tercer elemento.
  3. Incrementa la dirección del tercer elemento (es decir, address + 1).
  4. Intenta desreferenciar la dirección obtenida en el paso anterior.
Cambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones

¿Todo estuvo claro?

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

Referencias y Desreferencias

Los punteros se construyen en torno a 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 memoria RAM de nuestro ordenador. El uso de & permite obtener la dirección real de memoria 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 normalmente en notación hexadecimal.

Piense en el operador & como si identificara la dirección de su casa utilizando su nombre.

Operador de Desreferencia

Por el contrario, el operador * nos da el nombre del residente cuando se nos 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, al aplicarle el operador * (*&x) obtienes 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("Dereferenssing address of varialbe: %d", *(&x)); // using dereference operator `*` return 0; }

Nota

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

Tarea

  1. Crea un array de enteros de 5 elementos y rellénalo.
  2. Recupera la dirección del tercer elemento.
  3. Incrementa la dirección del tercer elemento (es decir, address + 1).
  4. Intenta desreferenciar la dirección obtenida en el paso anterior.

Tarea

  1. Crea un array de enteros de 5 elementos y rellénalo.
  2. Recupera la dirección del tercer elemento.
  3. Incrementa la dirección del tercer elemento (es decir, address + 1).
  4. Intenta desreferenciar la dirección obtenida en el paso anterior.
Cambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones

¿Todo estuvo claro?

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

Referencias y Desreferencias

Los punteros se construyen en torno a 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 memoria RAM de nuestro ordenador. El uso de & permite obtener la dirección real de memoria 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 normalmente en notación hexadecimal.

Piense en el operador & como si identificara la dirección de su casa utilizando su nombre.

Operador de Desreferencia

Por el contrario, el operador * nos da el nombre del residente cuando se nos 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, al aplicarle el operador * (*&x) obtienes 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("Dereferenssing address of varialbe: %d", *(&x)); // using dereference operator `*` return 0; }

Nota

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

Tarea

  1. Crea un array de enteros de 5 elementos y rellénalo.
  2. Recupera la dirección del tercer elemento.
  3. Incrementa la dirección del tercer elemento (es decir, address + 1).
  4. Intenta desreferenciar la dirección obtenida en el paso anterior.

Tarea

  1. Crea un array de enteros de 5 elementos y rellénalo.
  2. Recupera la dirección del tercer elemento.
  3. Incrementa la dirección del tercer elemento (es decir, address + 1).
  4. Intenta desreferenciar la dirección obtenida en el paso anterior.
Cambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones

¿Todo estuvo claro?

Los punteros se construyen en torno a 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 memoria RAM de nuestro ordenador. El uso de & permite obtener la dirección real de memoria 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 normalmente en notación hexadecimal.

Piense en el operador & como si identificara la dirección de su casa utilizando su nombre.

Operador de Desreferencia

Por el contrario, el operador * nos da el nombre del residente cuando se nos 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, al aplicarle el operador * (*&x) obtienes 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("Dereferenssing address of varialbe: %d", *(&x)); // using dereference operator `*` return 0; }

Nota

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

Tarea

  1. Crea un array de enteros de 5 elementos y rellénalo.
  2. Recupera la dirección del tercer elemento.
  3. Incrementa la dirección del tercer elemento (es decir, address + 1).
  4. Intenta desreferenciar la dirección obtenida en el paso anterior.
Cambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
Sección 6. Capítulo 2
Cambia 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