dsdsdsds
A Alocação de memória é um termo usado para reservar um determinado espaço para guardar uma informação, como por exemplo uma variável do tipo inteiro em programação. Toda variável quando declarada é programada para receber um certo tipo de caractere e um determinado tamanho, caso seja excedido o Sistema operacional apresentará um erro.
Existem vários de tipos de dados, usando a linguagem C ,como exemplo, encontramos : int (números inteiros), char(caracter), float(numero decimal) , double e void . Através do conceito de implementação de dados, faz-se uma análise lógica de quais dos dados citados serão utilizados em um determinado programa, os dados são escolhidos de acordo com a necessidade do programador.
Alocação Dinâmica
A Alocação Dinâmica de memória ocorre quando o programador não sabe ao certo quanto espaço precisará para armazenar dados em uma matriz, por exemplo. Então o mesmo a declara com um valor alto que supõe-se que será suficiente para a armazenagem dos dados. Em algumas situações poderá sobrar espaço e em outras o espaço será insuficiente. Quando sobra espaço esse mecanismo é considerado insuficiente, pois foi separado um espaço em excesso e não está sendo utilizado, porém na segunda situação, no caso de uma falta de espaço esse mecanismo pode liberar mais memória conforme a necessidade. Na Linguagem C o mecanismo para aquisição de memória em tempo de execução se dá por meio da função de biblioteca padrão malloc().
Algumas outras funções utilizadas são:
Função calloc(): funciona em conjunto com a malloc(),ela aloca uma matriz de elementos inicializados com zero e em seguida internamente chama a função malloc(). Esta ultima recebe dois números inteiros como argumentos, o primeiro indica o número de itens desejados e o segundo o tamanho de cada item. Depois retorna um ponteiro void apontando para o primeiro byte do bloco solicitado.
Função free(): Esta função serve para desalocar uma memória que foi previamente alocada