Declaración De Puntero; Operadores De Puntero; Punteros Y Campos - LUCAS-NÜLLE C515C Guia De Ejercicios Para El Estudiante

Tabla de contenido

Publicidad

Programación C de microcontroladores (C515C)
Puntero
Para acceder de forma indirecta a áreas de memoria, por ejemplo variables, campos o
estructuras, se emplean punteros. ¡Estos punteros o pointer no contienen el valor de una
localidad de memoria, sino solamente su dirección! La ventaja principal radica en la mayor
velocidad de acceso a localidades de memoria porque no se trabaja con el contenido.
Declaración de puntero
Para la declaración de un puntero se debe utiliza el operador *. Adicionalmente hay que
observar qué tipo de datos se deben señalar. A continuación se dan algunos ejemplos para
declaraciones de puntero:
int
char
float
Nota:
Después de la declaración solamente se ha creado una localidad de memoria para el
puntero. ¡La dirección que señala el puntero no está definida! Por este motivo hay que
transferir una dirección definida al puntero!

Operadores de puntero

El operador & (operador de referenciación) devuelve la dirección del operando:
int
int
p = &x;
Con el operador * (operador de dereferenciación) se accede al contenido del operando
señalado:
int
int
p = &x;
y = *p;
*p += 1;

Punteros y campos

El acceso a las direcciones y al contenido de campos se realiza mediante un puntero que
está asociado al mismo tipo de datos del campo. Puesto que el nombre de un campo se
puede interpretar como puntero, no es necesaria una referenciación, o sea la transferencia
de la dirección inicial del campo con el operador & al puntero con el que se desea operar.
Por esta razón la dirección del campo de datos se puede entregar directamente a un puntero
correspondiente. Sin embargo, el contenido de un elemento de campo direccionado
solamente puede leerse y modificarse, es decir referenciarse, con el operador *.
Introducción CMC 5
*número;
*caracter;
*p
x;
*p;
x=10, y;
*p;
CMC 5
// Puntero en Integer
// Puntero en Character
// Puntero en Float
// Variable del tipo Integer (Operando)
// Puntero en Integer
// p recibe la dirección de x
// Variables del tipo Integer
// Puntero en Integer
// p recibe la dirección de x
// y recibe el valor señalado por p (x)
// equivalente a x = x+1, porque p señala a x
15

Publicidad

Tabla de contenido
loading

Este manual también es adecuado para:

Sh5004-1e

Tabla de contenido