Alocação De Memória
Tese: Alocação De Memória. Pesquise 862.000+ trabalhos acadêmicosPor: StefanyAL • 14/10/2014 • Tese • 832 Palavras (4 Páginas) • 231 Visualizações
Alocação de memoria
Vimos até agora dois tipos de alocação de memória, que seria a alocação Estática e alocação Dinâmica.
Alocação Estática:
É quando definimos os tamanhos da variável na declaração da mesma, após isso criamos o programa encima das variáveis criadas e executamos após executarmos o Sistema operacional lê e reserva aquele espaço pré-definido na memoria.
Quando o usuário digita o que foi solicitado o programa lê e armazena non espaço reservado, porém está forma se torna um problema quando a informação que o usuário digitou é maior que o espaço reservado ou é muito menor, pois quando for maior o usuário não terá como digitar a informação correta podendo acarretar danos posteriores e quando a informação for muito menor o sistema estará reservando um espaço que poderia ser utilizado de uma forma mais útil, por isso é recomendado o uso da alocação Dinâmica.
Ex: #include <stdlib.h>
char c; int i; int v[10];
Alocação Dinâmica:
Na alocação dinâmica não é necessário definir tamanhos na declaração por que ela pode ocorrer a qualquer momento no decorrer do programa.
Para usar essa alocação precisamos usar a função Malloc e para liberar espaço usamos Free.
O Malloc aloca um bloco de bytes na memoria e depois devolve o endereço do mesmo, o numero de bytes para utilização é especificado dentro da função.
Ex: char *ptr;
ptr = malloc( 1);
scanf( "%c", ptr);
Malloc devolve o endereço do tipo void e o programador usando o ponteiro armazena no tipo apropriado.
No Free nós liberamos o espaço alocado dinamicamente para reutilização.
Quando o espaço é alocado dinamicamente as variáveis continuam a existeir mesmo depois da excução do programa por isso usamos a função Free para liberar esse espaço.
Ex: free( ptr);
ptr = NULL;
Ponteiros em C
O ponteiro é uma variável especial que armazena o endereço de memoria de outras variáveis.
O ponteiro é como uma referencia de uma variável, o ponteiro é tratado como um assunto difícil consumam dizer que o programador que entendi o que é ponteiro e o utiliza bem é um mestre, a declaração de um ponteiro é muito simples utilizamos o * (Asterisco) antes do nome do ponteiro.
Ex: *pont
Já para acessar esse ponteiro usamos o operador & (e comercial), o ponteiro tem que ser sempre inicializado e declarado de forma correta, ponteiros são utilizados quando criamos estruturas com dados complexos, para comunicação sobre a memoria como a função molloc descrita acima entre outros.
Estrutura de Dados em C
A lista encadeada que é também uma estrutura de dados é apresentada em uma sequencia de valores ou objetos guardados na memória do computador.
Os elementos são dispostos um a um em uma “Lista”, nesta lista em que estão dispostas as células da lista guardam o valor de algum tipo e também o endereço da célula seguinte, é importante tratar está lista como um tipo de dado e referencia-la com um nome, a lista encadeada é bastante usada em grandes projetos por apresentar mais facilidade na hora de buscar ou armazenar informações, mesmo com toda a facilidade ainda existem muitos projetos com resistência a utilizar uma estrutura assim como a lista encadeada.
Ex: struct cel {
int cod;
struct cel *prox;
};
Vetores em C
São variáveis especiais que agrupam outras variáveis (posições) do mesmo tipo em
...