Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Alocação Dinâmica | Alocação Dinâmica de Memória
Ponteiros e Referências em C++
Seção 4. Capítulo 2
single

single

bookAlocaçã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 operador new.

Note
Nota

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[].

Note
Nota

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.

Tarefa

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.

  1. Crie um array alocado dinamicamente chamado grades para armazenar as notas dos alunos.
  2. Utilize a função fillRandomGrades para preencher o array com notas aleatórias entre 60 e 100.
  3. Complete a função calculateAverage para que ela:
    • Inicialize a variável sum com 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 sum pelo número de alunos.
  4. Lembre-se de liberar a memória alocada utilizando delete[] ao final do programa para evitar vazamentos de memória.

Solução

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 2
single

single

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

some-alt