Parabéns cara seus exercicios e didatica de ensino foram excelentes , consegui deixar limpinho na minha mente os conhecimentos que tinha adquirido em alocação dinamica, obrigado pelo ajuda, traga mais videos interessantes de programação.
a alocação dinâmica reserva espaço na memória principal. Acontece que para cada programa executado (na verdade, cada processo), uma quantidade de endereços de memória é reservada para este processo. Estes endereços são separados em grupos. Um desses grupos é a pilha, onde vão ser alocadas as variáveis locais. Outro desses grupos é a heap. A alocação dinâmica usa endereços deste grupo. Mas é tudo parte da memória principal. Essa separação em grupos é feito pelo compilador/SO. É uma separação "lógica", e não física.