Buscar

Aula 09 - Alocação Dinâmica

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Instituto Federal do Sul de Minas Gerais 
 
Algoritmos 
Aula 09 – Alocação Dinâmica 
douglas.braz@ifsuldeminas.edu.br 
 
Alocação Dinâmica de Memória 
• Forma de gerar espaço de memória dinamicamente, 
durante a execução de um programa 
▫ Isto é necessário quando nos programas temos quantidades 
de armazenamento variáveis. 
Pilha
Lacuna
Dados dinâmicos
Texto
FFFF
0000
Espaço de 
endereçamento
Dados estáticos
Reservado
Alocação Dinâmica de Memória 
• Forma de gerar espaço de memória dinamicamente, 
durante a execução de um programa 
▫ Isto é necessário quando nos programas temos quantidades 
de armazenamento variáveis. 
Pilha
Lacuna
Dados dinâmicos
Texto
FFFF
0000
Espaço de 
endereçamento
Dados estáticos
Reservado
Temos 2 funções em C 
para alocação dinâmica 
Funções para Alocação Dinâmica 
• malloc: 
▫ Devolve o endereço do primeiro byte da memória 
alocado para uma variável tipo ponteiro 
 
 
 
Funções para Alocação Dinâmica 
• malloc: 
▫ Devolve o endereço do primeiro byte da memória 
alocado para uma variável tipo ponteiro 
 
 
 
▫ Foram alocados com esta instrução 1000 bytes de 
memória, sendo que p aponta para o primeiro 
destes 1000 bytes. 
Funções para Alocação Dinâmica 
• malloc: 
▫ Sempre que se alocar memória, deve-se testar o 
valor devolvido por malloc(), antes de usar o 
ponteiro, para garantir que não é nulo. 
Funções para Alocação Dinâmica 
• malloc: 
▫ Podemos utilizar a função sizeof()quando não 
sabemos o tamanho do dado. 
Funções para Alocação Dinâmica 
• malloc: 
▫ Podemos utilizar a função sizeof()quando não 
sabemos o tamanho do dado. 
Cast: utilizado para 
“forçar” o retorno da 
função 
Funções para Alocação Dinâmica 
• malloc: 
▫ Podemos utilizar a função sizeof()quando não 
sabemos o tamanho do dado. 
n vezes o tamanho de um 
int 
Funções para Alocação Dinâmica 
• free: 
▫ Devolve para o sistema a porção de memória que 
foi alocada dinamicamente. 
Exercícios 
• Faça um programa em C que: 
▫ Leia um valor n, correspondente à quantidade de elementos 
de uma variável composta unidimensional A; 
▫ Aloque dinamicamente a memória de A, tal que A contenha 
n valores inteiros; 
▫ Leia n valores de A; 
▫ Coloque A em ordem crescente; 
▫ Escreva A; 
▫ Libere o espaço de memória alocado para A;

Outros materiais