TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Vetores x Alocação Dinâmica da Memória

Por:   •  23/6/2017  •  Pesquisas Acadêmicas  •  736 Palavras (3 Páginas)  •  328 Visualizações

Página 1 de 3

Nome: Fabiana de Araújo Tinto            

  RA: 16291705

Disciplina: Estrutura de Dados I         

  Professor: Erinaldo Nascimento

Material de Avaliação Prática de Aprendizagem-MAPA

Na linguagem C, os vetores podem ser utilizados para representar uma lista, mas a lista também pode ser implementada por meio de estruturas com alocação dinâmica de memória. Pesquise sobre isso e responda com suas palavras: Qual o problema em utilizar um vetor ao invés de alocação dinâmica para implementação de listas?

Os Vetores são alocações de memórias estáticas que possuem o tamanho dos dados fixos e encontram-se organizados sequencialmente na memória, além disso, as variáveis armazenam o mesmo tipo de dado. Desta forma, os vetores reservam espaço na memória para todos os dados estejam eles sendo utilizado ou não durante a execução do programa, e ainda podem ser utilizados em listas como pilhas ou filas cuja distinção ocorre na entrada e saída de dados. Geralmente são recursos utilizados quando o desenvolvedor prevê a memória a ser utilizada.

Logo, a vantagem de se utilizar o vetor é que os dados vão estar dispostos de forma organizada de forma sequencial, desta forma, permitindo uma localização mais fácil e rápida. No entanto, apresenta como desvantagem que a quantidade de memória tem que ser estabelecida pelo programador antes da execução, e mesmo que não seja utilizada durante a execução já se encontra reservada para o programa.

[pic 1]

[pic 2]

Já alocação dinâmica de memória o espaço reservado de memória para as variáveis utilizar na execução do programa é definido enquanto o programa está sendo executado, isto é, quando o desenvolvedor não tem como prever o quanto de memória será utilizado para o armazenamento de dados na execução do programa, sendo assim, com a necessidade do programa vai se alocando a memória necessária para implementar o software.

[pic 3]

Para a construção desta alocação, faz-se necessário os Ponteiros, pois através dele pode monitorar os endereços de memórias já que na alocação dinâmica os dados não são armazenados de forma sequencial, e ainda que possamos recuperar os dados da memória. Ele compreende uma variável a qual representa a reserva da memoria para um elemento, ou seja, o ponteiro é referência do endereço da informação na memória, além disso, vale ressaltar que a propriedade do ponteiro assemelha-se ao tipo da variável a qual ele armazena o endereço.

[pic 4]

A alocação dinâmica ocorre através de funções são elas: malloc(), calloc(), realloc(), free(). A função malloc() atribui como parâmetro de espaço de armazenamento em um número de bytes na memória, podendo o ponteiro representar qualquer tipo de dado, contudo, deve-se verificar se existe espaço suficiente para aloca a memória desejada. Enquanto, que a função calloc() utiliza como parâmetro de armazenamento tanto a quantidade de elementos quanto o tamanho dos bytes. Já a função realloc() vai realocando o tamanho da memoria tanto para mais quanto para menos do tamanho original reservado. E a função free() informar ao sistema que a memória alocada pela função anterior não será mais utilizada e que sistema operacional pode liberar esta memoria. Diante de todas as funções as mais utilizadas são a função malloc() e a free().

...

Baixar como (para membros premium)  txt (4.7 Kb)   pdf (381.1 Kb)   docx (242.9 Kb)  
Continuar por mais 2 páginas »
Disponível apenas no TrabalhosGratuitos.com