jueves, 9 de agosto de 2012

Punteros en C

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