single
Alocação Dinâmica
Deslize para mostrar o menu
Alocação dinâmica de memória envolve o uso dos operadores new e delete. Esses operadores permitem alocar memória para variáveis e arrays em tempo de execução, proporcionando maior flexibilidade do que a alocação estática de memória.
-
new: operador utilizado para alocar dinamicamente memória para um objeto ou um array de objetos durante a execução; -
delete: operador utilizado para desalocar a memória que foi previamente alocada com o operadornew.
Um ponteiro que aponta para memória alocada dinamicamente é normalmente armazenado na pilha, mas a memória para a qual ele aponta é alocada na heap.
Para criar uma variável inteira dinamicamente, é necessário usar um ponteiro junto com a palavra-chave new.
int *dynamicInteger = new int;
Para liberar a memória alocada dinamicamente, utilize o operador delete:
delete dynamicInteger;
Estabeleça como regra: ao utilizar new para alocar memória, sempre utilize delete para liberá-la posteriormente.
Arrays Alocados Dinamicamente
Ao alocar memória para arrays de forma dinâmica, utilize o operador new[], e ao liberar a memória de arrays alocados dinamicamente, utilize o operador delete[].
A falha ao excluir a memória alocada dinamicamente pode resultar em vazamentos de memória, onde o programa retém memória que não está mais em uso.
Swipe to start coding
Imagine que você está atuando como professor e precisa calcular a média das notas de um grupo de alunos.
Você também irá trabalhar com ponteiros e funções que manipulam arrays alocados dinamicamente.
- Crie um array alocado dinamicamente chamado
gradespara armazenar as notas dos alunos. - Utilize a função
fillRandomGradespara preencher o array com notas aleatórias entre 60 e 100. - Complete a função
calculateAveragepara que ela:- Inicialize a variável
sumcom 0. - Percorra o array utilizando um laço
for. - Some cada nota à variável
sum. - Retorne a média das notas dividindo o valor total de
sumpelo número de alunos.
- Inicialize a variável
- Lembre-se de liberar a memória alocada utilizando
delete[]ao final do programa para evitar vazamentos de memória.
Solução
Obrigado pelo seu feedback!
single
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo