Alocação de Memória

935 palavras 4 páginas
ALOCAÇÃO DE MEMÓRIA

A alocação dinâmica permite para o programador alocar a memória para variáveis quando o programa está sendo executado. Assim, pode-se definir, por exemplo, um vetor ou uma matriz cujo tamanho é definido em tempo de execução.
Existem diversas outras funções que são amplamentes utilizadas, mas dependentes do ambiente e compilador. No entanto, o padrão ANSI C define apenas quatro funções para o sistema de alocação dinâmica, disponíveis no arquivo de cabeçalho stdlib.h, e descritas a seguir.

FUNÇÃO MALLOC ()

A função malloc () serve para alocar um espaço de memória. Sua sintaxe geral é: ptr = malloc (num);
Esta função aloca na memória o número de bytes definido por num. Ela retorna um ponteiro ptr do tipo void* para o primeiro byte alocado. Este ponteiro pode ser atribuído a qualquer tipo de ponteiro. Se não houver memória suficiente para a alocação requisitada, a função retorna um ponteiro nulo (NULL).
Veja um exemplo de alocação dinâmica com malloc ().
# include
#include /* Para usar malloc () */ void main (void)
{
int *p; int a, i; a = 100; /* O comando abaixo atribui ao ponteiro p o espaço necessário para guardar a Nº inteiros, assim, p agora pode ser tratado como um vetor com 100 posições */ p = (Int*) malloc (a*sizeof(Int)); if (!p) { printf(“** Erro: Memoria Insuficiente **”); exit; } for (i = 0; i < a; i++) p[i] = i*i;
}
No exemplo acima, é alocada memória suficiente para se armazenar a números inteiros. O operador sizeof () retorna o número de bytes de um inteiro. Ele é útil para se saber o tamanho de tipos. O ponteiro void* que malloc () retorna é convertido para um Int* pelo operador cast e é atribuído a p. O comando seguinte testa se a operação foi bem sucedida. Se não tiver sido, p terá um valor nulo, portanto, !p será verdadeiro. Se a operação tiver sido bem sucedida, podemos usar o vetor de inteiros alocados normalmente, por exemplo, indexando-o de p[0]

Relacionados

  • Alocação de memória
    994 palavras | 4 páginas
  • alocacao de memoria
    403 palavras | 2 páginas
  • Alocação de memória
    2097 palavras | 9 páginas
  • Alocação de memória
    908 palavras | 4 páginas
  • Alocação dinâmica de memória
    1055 palavras | 5 páginas
  • 1) ALOCAÇÃO DE MEMÓRIA
    397 palavras | 2 páginas
  • Alocação Dinâmica da memória
    1569 palavras | 7 páginas
  • Mecanismo para alocação de memória
    1582 palavras | 7 páginas
  • A importância da memória e as estratégias de alocação de memória em sistemas operacionais.
    575 palavras | 3 páginas
  • Programação em c com alocação básica de memória
    677 palavras | 3 páginas