Algoritmos e Estruturas de Dados
Pag.: 1
-U
NIVERSIDADE DO VALE DO RIO DOS SINOS
CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6)
PIP/CA - Programa Interdisciplinar de Pós-Graduação em Computação Aplicada
ALGORITMOS
&
ESTRUTURAS DE DADOS
Professor responsável: Fernando Santos Osório
Semestre: 2000/1
Horário: Noite - de 21/02 à 25/02/2000
E-mail: osorio@exatas.unisinos.br
Web: http://www.inf.unisinos.br/~osorio/
Lista Lineares – Lista Seqüencial com Alocação Estática
1. Alocação de Memória:
Ao criar um programa em “C” usualmente temos que especificar, antes de começar a executar o programa, as variáveis que vamos usar, reservando assim um espaço na memória. As variáveis que são alocadas em posições fixas da memória são chamadas de variáveis estáticas, e as variáveis que não possuem uma posição fixa, e que são criadas e destruídas durante a execução do programa, são chamadas de variáveis dinâmicas.
A alocação de memória no computador pode ser dividida em dois grupos principais:
-
Alocação Estática: os dados tem um tamanho fixo e estão organizados seqüencialmente na memória do computador. Um exemplo típico de alocação estática são as variáveis globais, e os vetores (estáticos).
-
Alocação Dinâmica: os dados não precisam ter um tamanho fixo, pois podemos definir para cada dado quanto de memória que desejamos usar. Sendo assim vamos alocar espaços de memória (blocos) que não precisam estar necessariamente organizados de maneira seqüencial, podendo estar distribuídos de forma esparsa na memória do computador. Na alocação dinâmica, vamos pedir para alocar/desalocar blocos de memória, de acordo com a nossa necessidade, reservando ou liberando blocos de memória durante a execução de um programa. Para poder “achar” os blocos esparsos na memória usamos as variáveis do tipo Ponteiro (indicadores de endereços de memória).
As variáveis locais e os parâmetros passados por valor são alocados