A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Estrutura de Dados II Alocação Dinâmica. Alocação de memória Ao ser executado, um programa carrega seu código executável para a memória; Uma parte da.

Apresentações semelhantes


Apresentação em tema: "Estrutura de Dados II Alocação Dinâmica. Alocação de memória Ao ser executado, um programa carrega seu código executável para a memória; Uma parte da."— Transcrição da apresentação:

1 Estrutura de Dados II Alocação Dinâmica

2 Alocação de memória Ao ser executado, um programa carrega seu código executável para a memória; Uma parte da memória é ocupada pelas instruções do programa e a outra para os dados;

3 Alocação de memória Quem é responsável por determinar a quantidade de memória necessária para as instruções e para os dados do programa? – Instruções: compilador; – Dados: programador.

4 Alocação de memória Quais são os tipos de alocação de memória? – Estática; – Dinâmica; – Sequencial; – Encadeada. Um vetor simples, utiliza quais tipos de alocação de memória? – Estática e sequencial.

5 Alocação de memória Questão para discussão: – Quais são os tipos de alocação de memória da lista representada graficamente abaixo? Dinâmica e encadeada Lista 3201C341550BD2F193A7B... 25null anan a2a2 a1a1 a1a1

6 Ponteiros Um ponteiro é uma variável que possui como conteúdo uma referência para uma variável dinâmica. O que é uma variável dinâmica? – É uma variável que pode ser criada e destruída durante a execução do programa.

7 Ponteiros Exemplo de alocação de variáveis estáticas e dinâmicas: VariávelEndereçoConteúdo i (inteiro)AB17 k (inteiro)AB22 AB3 AB4 pt1 (ponteiro)AB5AB8 AB6 pt2 (ponteiro)AB7AB8 AB9

8 Ponteiros Em C, C++, Pascal e outras linguagens, o programador é responsável por liberar explicitamente a memória ocupada por uma variável dinâmica; A linguagem Java possui um recurso que elimina essa necessidade, o Garbage Collector (Lixeiro); Java não suporta o trabalho direto com ponteiros.

9 Ponteiros Ponteiros em Java: – A instanciação de uma variável de um tipo não primitivo é um ponteiro. – Veja o código abaixo:

10 Ponteiros Ponteiros em Java: – Celula é uma classe interna, portanto, uma variável instanciada do tipo Celula é um ponteiro para o local na memória onde o objeto está armazenado.

11 Ponteiros Ponteiros em Java: – Questões para discussão: O código refere-se a que tipos de alocação de memória? Faça uma representação gráfica da classe após executado o seu construtor: sequencial e encadeada primeiro ultimo pos

12 Bibliografia – PUGA, Sandra; RISSETTI, Gerson. Lógica de programação e estrutura de dados: com aplicações em Java. Capítulo 8 – Busca e ordenação.


Carregar ppt "Estrutura de Dados II Alocação Dinâmica. Alocação de memória Ao ser executado, um programa carrega seu código executável para a memória; Uma parte da."

Apresentações semelhantes


Anúncios Google