TAD
Asignación memoria
 
Puntero
Administrador
Plan de Curso
Modulo I
Unidad1
Unidad2
Modulo II
Unidad3
Unidad4
Modulo III

Unidad5

Unidad6
Foros
Chat

Blogs

Pascal

Descarga

Firefox

Email

Link

Hay que definir;

1.- ASIGNACION ESTATICA Y DINAMICA DE MEMORIA:


Una variable tiene asignación estática de memoria cuando su tamaño se define en el momento de la compilación. (Ej: A:INTEGER;)

Una variable tiene asignación dinámica de memoria cuando se define en la compilación, pero no ocupa memoria (no existe realmente) hasta la ejecución. (Ej: X:INTEGER;).

2.- VARIABLES DE TIPO PUNTERO:

PUNTERO: Es una variable que almacena una dirección de memoria. Las variables dinámicas se definen y se accede a ellas a través de las variables de tipo puntero.

IMPLEMENTACION

TYPE

Puntero=^Integer;

VAR

P,Q:PUNTERO;

BEGIN

NEW (P);

NEW: Este procedimiento asigna al puntero P,a traves del parámetro una dirección de memoria libre. En esta dirección es donde se almacena la variable dinámica.

P^: Guarda el contenido de la dirección de memoria.

Ejemplo:

TYPE Puntero=^Integer;

VAR P,Q: puntero;

BEGIN

NEW (P);

NEW (Q);

Q^:=7; Dirección de memoria de q guarda un 7.

P^:=5; Dirección de memoria de p guarda un 5.

P:=Q; Asignación de P, lo que tenga Q.

WRITE (P^); Visualizo un 7.

WRITE (Q^); Visualizo un 7.

END;

NIL: Indica que la dirección de memoria es nula.

Ampliando concepto Punteros o apuntador

Variable estática que almacena la dirección de memoria o posición de una variable dinámica de un tipo determniado.
En una computadora cada posición de memoria tiene una dirección y un valor específico almacenado en esa posición. Se han utilizado nombres de variables en lugar de direcciones porque los nombres son más fáciles de recordar. Para almacenar un nuevo valor en memoria se asigna a una variable, y la computadora envía una dirección a la memoria seguida por el valor a almacenar en esa posición.

Pascal proporciona un tipo especial de variable denominado Puntero, que es una variable cuyo valor es una dirección de una posición de memoria.

Al definir un tipo puntero se debe indicar el tipo de valores que se almacenarán en las posiciones designadas por los apuntadores. La razón es que los diferentes tipos de datos requieren diferentes cantidades de memoria para almacenar sus constantes, una variable apuntador puede contener una dirección de una posición de memoria adecuada sólo para un tipo dado. Por esta razón se dice que un apuntador apunta a una variable particular.

Una variable tipo apuntador contiene la dirección de la posición de otra variable

Para declarar una variable de tipo apuntador en Pascal se debe especificar el nombre de la variable y el tipo del valor que se almacenará en la posición de memoria a la que el apuntador se refiere.

Formato:

Type
tipo_apuntador = ^tipo dato

Una variable de tipo tipo_apuntador es un apuntador hacia un dato de tipo nombre del tipo. El signo '^' se lee "apunta hacia".

Ejemplos:

Type
Apuntador = ^real;
Var
P : Apuntador; {define el tipo,cuyos valores apuntan a posiciones que contienen números reales P apunta a posiciones que contienen números reales}

Var
P : ^real;

Type
registro = record;
nombre:string[10];
edad :integer;
sexo :char
end;
Var
P :integer;
Q :^registro;

 

 

Google
Imprimir
TAD
Asignación de memoria

Elaborado por ; Dinora Soto Castillo,. Dinora334@hotmail.com, dinorasoto2004@yahoo.comWebMaster : CIIUNA
WebMaster : CIIUNA.Optimizado para Internet Explorer y resolución 800x600.