Linux slogan
Visite também: BR-Linux.org · Dicas-L · NoticiasLinux · SoftwareLivre.org · UnderLinux · BestLinux
» Screenshot
Linux: Suse 9.2 com Evolution 2.0
Por abacus



» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha

» Wallpaper
Linux: DEMOLINUX
Por GIGANTEDM


Artigo

Alocação dinâmica
Linux user
dgpinheiro
02/11/2006
A alocação dinâmica é o processo que aloca memória em tempo de execução. Ela é utilizada quando não se sabe ao certo quanto de memória será necessário para o armazenamento das informações, podendo ser determinadas em tempo de execução conforme a necessidade do programa. Dessa forma evita-se o desperdício de memória.
Por: Daniel Gurgel Pinheiro
[ Hits: 8543 ]
Conceito: 10.0   2 voto(s)2 voto(s)2 voto(s)2 voto(s)2 voto(s) + quero dar nota ao artigo

Visão mais detalhada da memória do computador

Para a representação das variáveis na memória do computador cada variável ficava guardada numa posição de memória. Por exemplo, se fizéssemos um programa que contivesse a seguinte declaração:

int x = 9;

o x poderia ir parar à posição de memória E2 quando o programa fosse executado. Na realidade, as coisas não são bem assim. Cada posição de memória corresponde apenas a um byte e uma variável inteira ocupa geralmente 4 bytes. Ou seja, o número 9 não vai estar representado numa única posição de memória, mas sim em 4 posições de memória (ex: E2, E3, E4 e E5). Aliás, aquilo que está nessas 4 posições de memória é a representação em binário do número 9. A figura que se segue dá esta visão mais detalhada da memória.


Apesar da variável x estar localizada nos endereços E2, E3, E4 e E5, costuma dizer-se que o endereço da variável x é E2. Isto é, o endereço de uma variável é o endereço do primeiro byte que a variável ocupa.

Próxima página >>


Páginas do artigo
   1. Visão mais detalhada da memória do computador
   2. E os arrays? Como é que são guardados?
   3. Alocação dinâmica de memória
   4. Veja programa como exemplo

Outros artigos deste autor

Leitura recomendada

Comentários
[1] Comentário enviado por phylipe em 02/11/2006 - 10:31h:

Não entendi muita coisa mais tá de parabéns! Continue ajudando nossa comunidade, artigos como o seu são impressindiveis para o desenvolvimento intelectual de quem deseja aprender.

Vlw :)

[2] Comentário enviado por Reideer em 02/11/2006 - 10:47h:

?
e como ficam lista e fila nesta historia?
acredito que tenha muitos metodos para alocação dinâmica.

[3] Comentário enviado por Askra em 02/11/2006 - 23:34h:

Vale ressaltar que dependendo do seu compilador pode também possuir o arquivo oculo malloc.h, tem o mesmo efeito que stdlib.h na hora da alocação dinâmica só muda em que na parte onde você coloca p=(int*)malloc, você colocará p=(int*)calloc

Obs: Somente para abrir um pouco mais o leque ^^. falouz

[4] Comentário enviado por balani em 03/11/2006 - 20:58h:

Interessante, eu só não entendi ainda onde usar.

[5] Comentário enviado por Askra em 04/11/2006 - 00:15h:

Como utilizar o alocamento de memória ou como utilizar o documento??

[6] Comentário enviado por glaudiston em 30/07/2007 - 14:21h:

Um exemplo prático seria quando vc quer ler um arquivo e não sabe o tamanho dele... pode ser gigantesco ou minúsculo.
Outros exemplos inclusive de controle de arrays multidimensionais seguem:
http://vergil.chemistry.gatech.edu/resources/programming/c-tutorial/dynamic.html
http://www.lysator.liu.se/c/c-faq/c-2.html


Contribuir com comentário
  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Copyleft 2002-2009 Viva o Linux.com.br

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.