Contenido del Curso
Fundamentos de C
Fundamentos de C
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.
Main
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 quex
.
Main
Nota
No confundas el operador de desreferencia (
*x
) con el operador de multiplicación (x*y
).
Tarea
- Crea un array de enteros de 5 elementos y rellénalo.
- Recupera la dirección del tercer elemento.
- Incrementa la dirección del tercer elemento (es decir, address + 1).
- Intenta desreferenciar la dirección obtenida en el paso anterior.
Tarea
- Crea un array de enteros de 5 elementos y rellénalo.
- Recupera la dirección del tercer elemento.
- Incrementa la dirección del tercer elemento (es decir, address + 1).
- Intenta desreferenciar la dirección obtenida en el paso anterior.
¿Todo estuvo claro?
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.
Main
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 quex
.
Main
Nota
No confundas el operador de desreferencia (
*x
) con el operador de multiplicación (x*y
).
Tarea
- Crea un array de enteros de 5 elementos y rellénalo.
- Recupera la dirección del tercer elemento.
- Incrementa la dirección del tercer elemento (es decir, address + 1).
- Intenta desreferenciar la dirección obtenida en el paso anterior.
Tarea
- Crea un array de enteros de 5 elementos y rellénalo.
- Recupera la dirección del tercer elemento.
- Incrementa la dirección del tercer elemento (es decir, address + 1).
- Intenta desreferenciar la dirección obtenida en el paso anterior.
¿Todo estuvo claro?
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.
Main
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 quex
.
Main
Nota
No confundas el operador de desreferencia (
*x
) con el operador de multiplicación (x*y
).
Tarea
- Crea un array de enteros de 5 elementos y rellénalo.
- Recupera la dirección del tercer elemento.
- Incrementa la dirección del tercer elemento (es decir, address + 1).
- Intenta desreferenciar la dirección obtenida en el paso anterior.
Tarea
- Crea un array de enteros de 5 elementos y rellénalo.
- Recupera la dirección del tercer elemento.
- Incrementa la dirección del tercer elemento (es decir, address + 1).
- Intenta desreferenciar la dirección obtenida en el paso anterior.
¿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.
Main
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 quex
.
Main
Nota
No confundas el operador de desreferencia (
*x
) con el operador de multiplicación (x*y
).
Tarea
- Crea un array de enteros de 5 elementos y rellénalo.
- Recupera la dirección del tercer elemento.
- Incrementa la dirección del tercer elemento (es decir, address + 1).
- Intenta desreferenciar la dirección obtenida en el paso anterior.