05.05.2015 Views

Lenguaje C

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

El lenguaje de programación C<br />

en cuenta que el nombre del array sin índice es la dirección de comienzo del array, y, si<br />

además, se tiene en cuenta que un puntero puede indexarse como un array<br />

unidimensional, por lo cual, en el ejemplo anterior, podríamos referenciar ese elemento<br />

como p[4].<br />

Es posible obtener la dirección de un elemento cualquiera del array de la<br />

siguiente forma:<br />

int str[80],*p;<br />

p=&str[4];<br />

Entonces, el puntero p contiene la dirección del quinto elemento del array str.<br />

Hasta ahora hemos declarado variables puntero aisladas. Es posible, como con<br />

cualquier otro tipo de datos, definir un array de variables puntero. La declaración para<br />

un array de punteros int de tamaño 10 es:<br />

int *a[10];<br />

Para asignar una dirección de una variable entera, llamada var, al tercer<br />

elemento del array de punteros, se escribe:<br />

x[2]=&var;<br />

*x[2];<br />

Y para encontrar el valor de var:<br />

Dado, además, que un puntero es también una variable, es posible definir un<br />

puntero a un puntero. Supongamos que tenemos lo siguiente:<br />

int a,*b,**c;<br />

b=&a;<br />

c=&b;<br />

Y entonces, **c tiene el valor de la variable a, pues c es un puntero a una<br />

variable que ya es de tipo puntero.<br />

Este concepto de puntero a puntero podría extenderse a puntero a puntero a<br />

puntero, etc., pero no nos ocuparemos de ello. Además, existe el concepto de puntero a<br />

una función, al cual nos referiremos en el tema dedicado a las funciones.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!