

Seu próximo nível começa aqui
Seu desenvolvimento não pode ter limites. Garanta sua Assinatura Ilimitada e libere uma preparação completa com os melhores professores do Brasil.
Sobre a alocação dinâmica em C, se um programador executar p = malloc(10 * sizeof(int)) e, logo após, sem liberar a memória, executar p = malloc(5 * sizeof(int)), o que ocorre tecnicamente no sistema?
O primeiro bloco é automaticamente liberado pelo SO (Garbage Collection).
Ocorre um vazamento de memória (Memory Leak), pois o endereço do primeiro bloco foi perdido.
O segundo malloc falhará, pois o ponteiro p já está ocupado.
O tamanho do bloco original é redimensionado para 5 inteiros.
O ponteiro p passará a apontar para uma área de memória contendo os dois blocos.