09.05.2013 Views

Algoritmos y Programación en Pascal

Algoritmos y Programación en Pascal

Algoritmos y Programación en Pascal

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

16.1. Introducción al uso de punteros 337<br />

^ tipo<br />

Figura 16.1. Definición de un tipo puntero.<br />

ap<br />

dato<br />

que explica por sí mismo el porqué de llamar puntero a la variable ap.<br />

Este último diagrama muestra que un puntero ti<strong>en</strong>e dos compon<strong>en</strong>tes: la<br />

dirección de memoria a la que apunta (cont<strong>en</strong>ido del puntero) y el elem<strong>en</strong>to<br />

referido (cont<strong>en</strong>ido de la celda de memoria cuya dirección está almac<strong>en</strong>ada <strong>en</strong> el<br />

puntero).<br />

❡❡ <br />

Al usar punteros convi<strong>en</strong>e t<strong>en</strong>er muy claro que la variable puntero y la<br />

variable a la que apunta son dos variables distintas y, por lo tanto, sus<br />

valores son también distintos. A lo largo del capítulo se t<strong>en</strong>drá ocasión de<br />

difer<strong>en</strong>ciar claram<strong>en</strong>te <strong>en</strong>tre ambas.<br />

16.1.1 Definición y declaración de punteros<br />

Antes de poder usar punteros <strong>en</strong> un programa es necesario declararlos: <strong>en</strong><br />

primer lugar habrá que definir el tipo del dato apuntado y, posteriorm<strong>en</strong>te, declarar<br />

la(s) variable(s) de tipo puntero que se usará(n).<br />

Por consigui<strong>en</strong>te, una variable puntero sólo puede señalar a objetos de un<br />

mismo tipo, establecido <strong>en</strong> la declaración. Así por ejemplo, un puntero podrá<br />

señalar a caracteres, otro a <strong>en</strong>teros y otro a vectores pero, una vez que se declara<br />

un puntero, sólo podremos usarlo para señalar variables del tipo para el cual ha<br />

sido definido. Esta exig<strong>en</strong>cia permite al compilador mant<strong>en</strong>er la consist<strong>en</strong>cia del<br />

sistema de tipos, así como conocer la cantidad de memoria que debe reservar o<br />

liberar para el dato apuntado.<br />

El tipo puntero es un tipo de datos simple. El diagrama sintáctico de su<br />

definición aparece <strong>en</strong> la figura 16.1, <strong>en</strong> la que hay que resaltar que el circunflejo<br />

(^) indica que se está declarando un puntero a variables del tipo tipo.

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

Saved successfully!

Ooh no, something went wrong!