Programação - memória dinâmica

697 palavras 3 páginas
Programação II
Memória Dinâmica

Programação - Eng. Automóvel

1

Alocação estática de memória


A alocação estática de memória é efectuada quando é declarada uma dada variável;
A libertação do espaço de memória, ocupado por essa variável é efectuada no final do bloco de instruções onde foi efectuada a sua declaração.
2



Programação - Eng. Automóvel

Alocação estática de memória


Exemplo

void main() { int x; //reserva memória para guardar um inteiro ...

} // é libertada toda a memória reservada
Programação - Eng. Automóvel 3

Alocação estática de memória


Exemplo

void funcao( int x, char *z, ...) //reserva memória { int y; //reserva memória ...

} // é libertada toda a memória reservada
Programação - Eng. Automóvel 4

Alocação dinâmica de memória


A alocação dinâmica de memória permite efectuar a alocação (reserva) e libertação de memória sempre e apenas quando for necessário.

Programação - Eng. Automóvel

5

Função malloc


A alocação de memória em C pode ser efectuada através da função malloc: void *malloc(size_t numero_bytes)



Esta função aloca um bloco de memória contíguo com numero_bytes, e devolve um ponteiro para o início desse bloco, ou NULL no caso de não existir memória suficiente.
6

Programação - Eng. Automóvel

Função malloc


Forma geral de utilização da função malloc:
(tipo *) malloc(n * sizeof(tipo)) Livrarias: alloc.h ou stdlib.h

Programação - Eng. Automóvel

7

Função malloc - exemplo char *pc;
... pc = (char *) malloc (100 * sizeof(char));
Operação de casting, pois a função malloc devolve um ponteiro genérico para void

...
Nota: Reserva 100 bytes de memória e coloca pc a apontar para o 1º byte reservado
Programação - Eng. Automóvel 8

Função malloc - exemplo pc 100 bytes

pc

*pc

*(pc+1)

...
Programação - Eng. Automóvel

100 bytes
*(pc+99)
9

Função malloc - exemplo int *pi; ...

pi

*pi *(pi+1)

pi = (int *)

Relacionados

  • Listas ligadas
    1699 palavras | 7 páginas
  • Ed-variaveis
    2090 palavras | 9 páginas
  • Estrutura de dados
    555 palavras | 3 páginas
  • memórias
    1159 palavras | 5 páginas
  • Trabalho
    2120 palavras | 9 páginas
  • Computação
    2726 palavras | 11 páginas
  • função
    2726 palavras | 11 páginas
  • , Alocação duplamente encadeada, represente graficamente as duas alocações de encadeamento e responda e qual delas tem maiores vantagens e o motivo.
    829 palavras | 4 páginas
  • Memórias (informática)
    1829 palavras | 8 páginas
  • apostila de eletronica digital
    4118 palavras | 17 páginas