Alocação de variável dinâmica
Estaremos abordando como alocar uma variavel dinamica em C.
No exemplo acima, podemos verificar, que existe uma variavel pdinamica. Que é um ponteiro de variável.
Iremos explicar o ponteiro em outro post.
O comando malloc, pega um segmento da memória, e reserva para o ponteiro.
Alocação de memória deve ser usada com muito cuidado, pois seu uso inadvertido, pode causar crash do sistema, ou o que chamamos de memory leak. O memory leak é como o próprio nome diz, quando perdemos o controle das alocações, não removendo a alocação da memória após seu uso.
Na alocação dinâmica, a alocação e desalocação da memória é feita pelo software (programador), se houver uma falha no processo de desalocação aquele segmento de memória ficará inutilizado até que a aplicação feche.
Em situações onde houver rechamada constante de um bloco de instruções que perde memória, o programa irá capturar segmentos de tal volume, que em um dado momento a aplicação ficará sem recursos (memória livre disponível).
O comando free, já faz a liberação da memória, quando apontamos o endereço da memória, dizemos ao Sistema Operacional, que aquele segmento de memória criado no endereço apontado, já pode ser liberado.
Como o sistema operacional já sabe o tamanho criado no momento da alocação, não é necessário identificar o tamanho do segmento.