Aaaaaa

612 palavras 3 páginas
Alocação Dinâmica Algoritmos e Estrutura de Dados
Prof. Edson Luiz Folador

Treinamento Linguagem C; Mizrahi, Victorine Viviane; Makron; Pág. 087 a 102

• Heap • sizeof() • malloc() • calloc() • free()

Referência Bibliográfica

Prof. Edson Luiz Folador

Heap
• Área de memória livre do computador controlada pelo SO.

Tamanho em Bytes de variáveis int num; char ch; sizeof(num) = 2; sizeof(ch) = 1 struct tamanho { int num; char ch; struct tamanho *proximo; } struct tamanho v_tam; sizeof(v_tam) = 3;

• Memória não usada pelo SO • Área disponível para ser utilizada

Referência Bibliográfica

Prof. Edson Luiz Folador

Referência Bibliográfica

Prof. Edson Luiz Folador

Conversão de Tipos num = (int) 20/3; num = (float) 3*2; ptr = (int *) … ???? ptr = (long *) … ??? ptr = (struct tamanho *) …

Alocando um Endereço Memória
Usamos função malloc(tamanho) para alocar um espaço na memória ptr = (int *) malloc( sizeof(int) ); ptr = (long *) malloc( sizeof(long) ); struct tam *ptr; ptr = (struct tam *) malloc( sizeof(struct tam) )

Referência Bibliográfica

Prof. Edson Luiz Folador

Referência Bibliográfica

Prof. Edson Luiz Folador

1

Alocando X Endereços de Memória
Usamos função calloc(quantidade,tamanho) para alocar uma certa quantidade de endereços consecutivos de memória. Prim ptr = (int *) calloc( 100, sizeof(int) );
Reserva 100 espaços consecutivos de memória para o tipo int.

Testando alocação de memória
Precisamos saber se a quantidade de memória que pretendemos alocar esta disponível: struct tam *alocamem() { struct tam *ptr; ptr = (struct tam *) malloc(sizeof( struct(tam) )); if (!ptr) { printf(“Alocação de memória sem sucesso.”); printf(“Memória insuficiente”); exit(); } return(ptr); }
Referência Bibliográfica

ptr = (long *) calloc( 50, sizeof(long) );

Reserva 50 espaços consecutivos de memória para o tipo int.

struct tam *ptr; ptr = (struct tam *) calloc( 100, sizeof(struct tam) )
Reserva 100 espaços

Relacionados

  • aaaaaa
    313 palavras | 2 páginas
  • aaaaaa
    600 palavras | 3 páginas
  • aaaaaa
    339 palavras | 2 páginas
  • aaaaaa
    3440 palavras | 14 páginas
  • AAAAAA
    403 palavras | 2 páginas
  • Aaaaaa
    1070 palavras | 5 páginas
  • aaaaaa
    579 palavras | 3 páginas
  • aaaaaa
    368 palavras | 2 páginas
  • aaaaaa
    973 palavras | 4 páginas
  • aaaaaa
    302 palavras | 2 páginas