atps estrutura de dados
Nome RA:
Nome RA:
Atividades Práticas Supervisionadas
Anhanguera Educacional
2015
Atividades Práticas Supervisionadas
Trabalho desenvolvido na disciplina Estrutura de Dados apresentado à Anhanguera Educacional como exigência para a avaliação e de Autodesenvolvimento, sob orientação do professor Thomas.
.
Anhanguera Educacional
2015
1. Relatório Estrutura de dados
1.1 Alocações dinâmica de memória
As declarações abaixo alocam espaço de memória para diversas variáveis. A alocação é estática, ou seja, acontece antes que o programa comece a ser executado:
char c; int i; int v[10];
Às vezes, a quantidade de memória a alocar só se torna conhecida durante a execução do programa. Para lidar com essa situação é preciso recorrer à alocação dinâmica de memória. A alocação dinâmica é gerenciada pelas funções malloc e free, que estão na biblioteca stdlib. Para usar esta biblioteca, você deve incluir o correspondente arquivo-interface no seu programa por meio de
#include <stdlib.h>
Função malloc
A função malloc (o nome é uma abreviatura de memory allocation) aloca um bloco de bytes consecutivos na memória do computador e devolve o endereço desse bloco. O número de bytes é especificado no argumento da função. No seguinte fragmento de código, malloc aloca 1 byte:
char *ptr; ptr = malloc (1); scanf ("%c", ptr);
O endereço devolvido por malloc é do tipo genérico void *. O programador armazena esse endereço num ponteiro de tipo apropriado. No exemplo acima, o endereço é armazenado num ponteiro-para-char.
Para alocar um tipo-de-dados que ocupa mais de 1 byte, é preciso recorrer ao operador sizeof, que diz quantos bytes o tipo especificado tem:
typedef struct { int dia, mes, ano;
} data; data *d; d = malloc (sizeof (data)); d->dia = 31; d->mes =