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 339<br />

que, gráficam<strong>en</strong>te, se puede expresar así:<br />

apCar<br />

????<br />

❡❡ <br />

Obsérvese que la operación de g<strong>en</strong>eración New ha g<strong>en</strong>erado el dato apuntado<br />

por apCar, pero éste conti<strong>en</strong>e por el mom<strong>en</strong>to una información desconocida.<br />

Para destruir una variable dinámica se usa el procedimi<strong>en</strong>to estándar Dispose.<br />

La instrucción<br />

Dispose(apCar)<br />

realiza las dos sigui<strong>en</strong>tes acciones<br />

1. Libera la memoria asociada a la variable referida apCar^ (dejándola disponible<br />

para otros fines).<br />

2. Deja indefinido el valor del puntero.<br />

Gráficam<strong>en</strong>te, esos efectos llevan a la sigui<strong>en</strong>te situación:<br />

apCar<br />

????<br />

En resum<strong>en</strong>, una variable dinámica sólo se creará cuando sea necesario (lo<br />

que ocasiona la correspondi<strong>en</strong>te ocupación de memoria) y, previsiblem<strong>en</strong>te, se<br />

destruirá una vez haya cumplido con su cometido (con la consigui<strong>en</strong>te liberación<br />

de la misma).<br />

16.1.3 Operaciones básicas con datos apuntados<br />

Recuérdese que el dato referido por el puntero apCar se d<strong>en</strong>ota apCar^, que<br />

es de tipo char. Por consigui<strong>en</strong>te, son válidas las instrucciones de asignación,<br />

lectura y escritura y demás operaciones legales para los caracteres:

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

Saved successfully!

Ooh no, something went wrong!