3.309 cursos gratis
6.273.225 alumnos
Publica tu curso gratis
Busca cursos gratis:
Estás aquí: mailxmail > Cursos de Informática > Programación > Introducción al lenguaje Pascal > Operaciones con punteros

Introducción al lenguaje Pascal

Autor: emarinch@racsa.co.cr
Curso: 5/5 5/5 (6 opiniones) |11262 alumnos|Fecha publicación: 01/03/2006

Capítulo 30:

 Operaciones con punteros

Como se dijo anteriormente, los punteros se crean con las declaraciones:

Type

   PuntX = ^Real;

Var

   P : PuntX;

P es una variable puntero de tipo PuntX que apunta a posiciones que contienen valores de tipo real. La posición de memoria designada por el valor de la variable puntero P se representa por P^. Se pueden asignar valores a P^ y utilizar valores de P^ en expresiones tal como cualquier otra variable. Si P apunta a posiciones que contiene reales, P^ es una variable real.

Ejemplo:

P^ := 1000                 El valor de P^ es 1000

3 * P^ + 500              El valor de P^ es 3500

Sin embargo, estas operaciones no se pueden realizar directamente luego de la declaración, debido a que el objeto o dirección P^ no existe. Antes de que un programa utilice un puntero, se requiere abrir espacio para el tipo de datos objeto de la dirección del puntero. Para iniciar un puntero se debe utilizar el procedimiento NEW.

7.2.1 New

La declaración de un puntero P no crea una celda de memoria para apuntar a ella. El procedimiento (sentencia) New se utiliza para crear la celda de memoria P; es decir, el procedimiento New crea una variable dinámica y establece que una variable puntero apunte a ella.

Sintaxis:

New (P)

P representa la variable puntero.

La sentencia New (P); llama al procedimiento New que asigna almacenamiento para un valor determinado y sitúa la dirección de esta celda de memoria en la variable puntero P. Una vez que se asigna almacenamiento para un valor de tipo determinado al que está apuntando P, se puede almacenar un valor en esa celda de memoria y manipularlo.

Ejemplo:

New (Ptr);

Ptr^ := `Mckenna´;

La sentencia New (Ptr) crea una celda vacía de memoria a la que apunta Ptr. La segunda sentencia sitúa el valor `Mckenna´ en esa celda de memoria.

Gráficamente se representaría así:

Operaciones con punteros

7.2.2 Dispose

El procedimiento Dispose libera la posición de memoria ocupada por una variable dinámica.

Sintaxis:

Dispose (P) (* P es una variable tipo puntero *)

Gráficamente se representa así:

Operaciones con punteros

Dispose destruye la variable referenciada por P y devuelve su zona de memoria

7.2.2.1 Constante nil

Pascal proporciona una constante predefinida, nil (nulo. La constante nil se utiliza para dar un valor a una variable puntero que no apunta a ninguna posición, nil puede ser asignad a un puntero de cualquier tipo.

P:= nil;

P:=5

Ejemplo:

Var

  P,Q : ^Integer;

Begin

   New (P);

   P^ :=8;

  Q^ :=P;

  Q^ :=5;

  Dispose (P)

End.

7.2.3 Assigned

Determina si un puntero o variable de tipo procedimiento es nil. Especifica si el argumento es nil o e el argumento tiene un valor. Su sintaxis es:

                        Function Assigned (Var P) : Bolean;

P debe ser una referencia de un puntero o tipo procedimiento. La función devuelve verdadero (true) si P no es nil o falso (false) si es nil. Una posible aplicación puede ser la siguiente:

Var P : Pointer;

Begin

  P : nil;

  If Assigned (P) then

     Writeln (`Prueba Uno´);

     P := @P;

  If Assigned (P) then

     Writeln (`Prueba Dos´);

End.

La llamada Assigned(P) correspondiente a la evaluación de P <> nil para una variable puntero, mientras @P <> nil se corresponde a una variable por procedimiento.

Capítulo siguiente - Archivos y registros
Capítulo anterior - Punteros
Recibe nuestras novedades
Al presionar "Recibir" estás dándote de alta y aceptas las condiciones legales de mailxmail

Información de los programas con certificado

Hay 6 opiniones. Opina sobre este curso.


Cursos similares a Introducción al lenguaje Pascal


Cursos Valoración Alumnos Vídeo
Programa con Delphi
Con este curso aprenderemos a programar con delphi, un lenguaje de programación visual, con el que podrás aprender de una manera rápida e intuitiva.... [05/05/05]
 3,13/5 5.570  
Primeros pasos con XML y XSL
XML es el acrónimo del inglés eXtensible Markup Language cuyo objetivo principal es conseguir una página web más semántica. Inicialmente nace como sucesor del HTML, separ... [10/09/04]
 4,25/5 6.855  
Informática. Desarrollo científico del ordenador
Ordenador, ciencia e informática son las claves de este curso. Conoce el desarrollo científico que hay detrás de una computadora u ordenado... [10/07/09]
5/5 4.576  


Publicar en   del.icio.us    digg    meneame

¿Qué es mailxmail.com?|ISSN: 1699-4914|Recomiéndanos|Ayuda
Condiciones legales de mailxmail