Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouThomaz Bruno Camelo Ávila Alterado mais de 8 anos atrás
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.
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.