Also known as memory allocation, runtime memory allocation, heap-based memory allocation
the allocation of memory storage for use in a computer program during runtime
Alocação de memória, em ciência da computação, consiste no processo de solicitar/utilizar memória durante o processo de execução de um programa de computador. A alocação de memória no computador pode ser dividida em dois grupos principais: * Alocação Estática: os dados tem um tamanho fixo e estão organizados sequencialmente na memória do computador. Um exemplo típico de alocação estática são as variáveis globais e arrays. A alocação estática de memória tem como principal ponto positivo a simplicidade com que pode ser realizada pelos programadores, mantendo o algoritmo simples e de fácil organização das variáveis utilizadas. No entanto, como principal ponto negativo, a alocação estática ocupa uma porção fixa da memória, em casos em que essas variáveis não sejam utilizadas após um certo ponto, a alocação estática consome desnecessariamente esta porção reservada da memória, podendo levar o programa a fica muito pesado desnecessariamente. Apesar disso, é importante ressaltar, que na maioria das linguagens de programação, as variáveis criadas com alocação estática são liberadas automaticamente após o fim de uma determinada função. Em C, um exemplo de alocação estática é simplesmente a declaração de uma variável: int variável; * Alocação Dinâmica: os dados não precisam ter um tamanho fixo, pois é possível definir para cada dado quanto de memória que deseja-se usar. Sendo assim aloca-se espaços de memória (blocos) que não precisam estar necessariamente organizados de maneira sequencial, podendo estar distribuídos de forma dispersa (não ordenada) na memória do computador. Na alocação dinâmica, é possível alocar/desalocar blocos de memória, de acordo com a necessidade, reservando ou liberando blocos de memória durante a execução de um programa. Para poder “achar” os blocos que estão dispersos ou espalhados na memória usa-se as variáveis do tipo Ponteiro (indicadores de endereços de memória). É importante ressaltar que, na maioria das linguagens de programação, as variáveis criadas com alocação dinâmica não são liberadas automaticamente após o fim de funções, sendo necessário liberá-las manualmente, e, por questões de segurança, é importante atribuir o "NULL" ao ponteiro criado. Em C, um exemplo de alocação dinâmica é o seguinte: int *ponteiro; ponteiro = (int *) malloc(sizeof(int)); Dessa forma, o ponteiro aponta para o endereço de memória contendo um espaço do tipo e tamanho da variável int. Em C, um exemplo para limpar a memória alocada é o seguinte: free(ponteiro); ponteiro = NULL;
Abstract from DBpedia / Wikipedia · CC BY-SA
via Wikidata sitelinks · CC0
Discovered by embedding cosine similarity (sentence-transformers MiniLM, 384-dim).