Please enable JavaScript.
Coggle requires JavaScript to display documents.
S3_A8_ED - Alocação Dinâmica - Listas Encadeadas - Introdução (Variável…
S3_A8_ED - Alocação Dinâmica - Listas Encadeadas - Introdução
Alocação Dinâmica
:one: Até então sabemos que definimos antes a quantidade de memória que o nosso programa irá usar através da declaração de variáveis locais, globais, matrizes e etc.
:two: Alocação dinâmica possibilita a criação de tipos de dados e estruturas de qualquer tamanho durante a execução do programa.
:three: O SO aloca espaço na MP da seguinte maneira:
:check: Variáveis locais e globais;
:check: Código do programa;
:check: Funções;
:check: Área de memória Livre (free store) ou Heap - alocação dinâmica (é o que sobra).
Variável Ponteiro
Definição:
Uma variável que armazena o endereço de outra variável.
O que significa tipo?
É o tipo da variável que será apontada.
Por que temos que usar o * antes do nome?
É o que diz que é uma variável ponteiro.
Qual a finalidade do caracter &:
É usado antes da variável quando quisermos o seu endereço e não o conteúdo.
O asterisco será usado em outra ocasião?
Se usarmos o asterisco após a criação a variável ponteiro mostrará o valor do conteúdo da variável que está apontando.
Como se inicializa?
Pode acontecer na criação ou após, pega o endereço da outra variável colocando o & antes dela.
Listas Encadeadas
Consideradas uma das mais importantes estruturas de dados. Talves a forma livre de inserir e remover elementos em qualquer posição e as aplicações importantes que fazem o uso dela tenham lhe dado esse status.
Encadeamento Simples:
Cada nó é ligado por um ponteiro, permitindo que ela seja percorrida do primeiro ao último elemento.
Encadeamento Duplo:
Cada nó é ligado por dois ponteiros. Permitindo que você a percorra para ir e voltar.
Encadeadas Circulares:
Onde o último nó é ligado ao primeiro, significando que não existe NULL.
Listas Encadeadas Simples
Cada nó tem duas partes, o valor e a variável ponteiro apontando para o próximo valor (endereço do próximo nó).
A dúvida é como vou saber o
<tipo>
do próximo nó que estou apontando para definir o ponteiro.