Los punteros en C
Definición: es una variable que da referencia a una región de memoria, en otras palabras es una variable cuyo valor es una dirección de memoria.
Sintaxis:
- El operador & (operador dirección), aplicado sobre el nombre de una variable, devuelve su dirección de memoria (&x --> Coger la dirección de x).
- El operador * (operador indirección) aplicado sobre una variable de tipo puntero permite acceder al dato al que apunta, es decir, al valor de la variable situada en esa dirección de memoria (*p --> Coge el valor de p)
Declaración:
int* xp; //declara un puntero de tipo int
Inicialización de un puntero:
Todo puntero debe inicializarse!!!!, ya que en caso contrario tras ser declarado apuntaría a cualquier sitio (PELIGROSO) y si se usa puede modificar por ejemplo la memoria reservada a otra variable. Si no aun no sabemos dónde debe apuntar se le asignará el valor NULL (No apunta a ningún sitio en especial).
int *p = NULL;
Ejemplo:
int cuenta = 125;
int *p;
int x;
Estado inicial de la memoria:
Cuenta | 125 | D100 |
p | D150 | |
x | D175 |
p = &cuenta:
Cuenta | 125 | D100 |
p | D100 | D150 |
x | D175 |
x = *p:
Cuenta | 125 | D100 |
p | D100 | D150 |
x | 125 | D175 |
Hasta aquí hemos llegado con la introducción sobre punteros en c. Espero que os sirva de ayuda!
Hasta la pròxima!!!
No hay comentarios:
Publicar un comentario