TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Alocacao De Memorias

Ensaios: Alocacao De Memorias. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  9/10/2014  •  208 Palavras (1 Páginas)  •  227 Visualizações

Na alocação dinâmica o espaço para as variáveis é alocado dinamicamente durante a execução do programa, já na estática é reservada no início da execução.

EXEMPLOS DE ALOCAÇÃO ESTÁTICA

void quad(int n) {

n = n * n;

printf("n = %d\n"; n);

}

int main() {

int n;

n = 3;

quad(n);

printf("n = %d\n", n);

return 0;

}

void quad(int n) {

n = n * n;

printf("n = %d\n"; n);

}

int main() {

int n;

scanf("%d", &n);

if (n > 10) {

int x = 10;

quad(x);

}

else

quad(n);

printf("n = %d\n", n);

ALOCAÇÃO DINAMICA

As variáveis alocadas dinamicamente são chamadas de ponteiros ou apontadores (pointers), pois armazenam o endereço de memória de uma variável.

• Número inteiro (32 ou 64 bits) indicando um endereço da memória.

• A memória alocada dinamicamente faz parte de uma área da memória chamada heap.

• Basicamente, o programa aloca e desloca porções de memóriado heap durante a execução.

A memória deve ser liberada após o término de seu uso

• A liberação deve ser feita por quem fez a alocação:

- Alocação Estática: compilador

- Alocação Dinâmica: programador

ALOCAÇÃO DINAMICA X ESTATICA

Declaração da variável

• Tipo *p; Tipo p;

• Alocação de memória para a variável (apenas alocação dinâmica)

• p = (Tipo*) malloc (sizeof(Tipo));

• Liberação de memória (apenas alocação dinâmica)

• free (p);

• Conteúdo da variável

• *p; p;

• Referência da variável (endereço de memória)

• p; &p;

• Valor nulo para um apontador (apenas alocação dinâmica)

• NULL;

...

Disponível apenas no TrabalhosGratuitos.com