2. ¿Qué es un PUNTERO?:
Un puntero es un objeto que apunta a otro objeto. Es decir,
una variable cuyo valor es la dirección de memoria de otra
variable.
Las direcciones de memoria dependen de la arquitectura
del ordenador y de la gestión que el sistema operativo haga
de ella.
Ismael Camarero
2
3. ¿Qué es un PUNTERO?:
No hay que confundir una dirección de memoria con el
contenido de esa dirección de memoria.
int x = 25;
Dirección
...
...
1502
1504
1506
1508
25
...
...
...
...
La dirección de la variable x (&x) es 1502
El contenido de la variable x es 25
Ismael Camarero
3
4. Declaración de variables puntero
Se declara como todas las variables y donde su
identificador va precedido de un asterisco (*):
int *punt;
punt Es una variable puntero a una variable de tipo entero.
char *car;
Un puntero
car Es un puntero a variable de tipo carácter.
tiene su
propia
long float *num;
dirección de
float *mat[5]; // . . .
memoria:
&punt
Ismael Camarero
&car
4
5. Declaración de variables puntero
Es decir: hay tantos tipos de punteros como tipos de
datos, aunque también pueden declararse punteros a
estructuras más complejas (funciones, struct, ficheros...) e
incluso punteros vacíos (void ) y punteros nulos (NULL).
Ej.- Declaración de variables puntero:
char dato;
//variable que almacenará un carácter.
char *punt;
//declaración de puntero a carácter.
flotat *x;
//declaración de puntero a real
Personas *y; //declaración de puntero a estructura
FILE *z;
//declaración de puntero a archivo
Ismael Camarero
5
6. Operadores de Punteros
Existen dos operadores :
Operador de dirección: & Representa la
dirección de memoria de la variable que le sigue:
&fnum representa la dirección de fnum.
Operador de contenido o indirección: * Permite
acceder a la variable situada en la dirección de
memoria que se especifica en el operando.
*punt es el contenido del la direccion de punt
Ismael Camarero
6
7. Operadores de Punteros
Existen dos operadores :
Operador de dirección: & Representa la
dirección de memoria de la variable que le sigue:
&fnum representa la dirección de fnum.
Operador de contenido o indirección: * Permite
acceder a la variable situada en la dirección de
memoria que se especifica en el operando.
*punt es el contenido del la direccion de punt
Ismael Camarero
6