Noções de Alocação Dinâmica em C/C++

Há duas maneiras de armazenar variáveis na memória do computador. Primeiro por variáveis globais e static locais, segundo através de alocação dinâmica, quando o C armazena a informação em uma área de memória livre, de acordo com a necessidade. No caso do C standart, a alocação dinâmica fica disponível com a inclusão de stdio.h.


Ex.

# include <stdio>
main()
{
int *p, t;
p=(int *) malloc(40*sizeof(int));
if (!p)
        printf("memoria insuficiente\n");
else
        {
        for(t=0;t<40;++t) *(p+t)=t;
        for(t=0;t<40;++t) printf("%d ",*(p+t));
        free(p);
        }
}



Ex:
#include <stdio>
main()
{
int i,quant;
float max,min,*p;
printf ("quantidade de numeros:\n");
scanf("%d",&quant);
if (!(p=(float*)malloc((quant+1)*sizeof(float))))
  {
  printf("sem memoria\n");
  exit(1);
  }
printf("digite %d numeros:\n",quant);

for (i=1;i<=quant;i++)
  {
   scanf("%f",(p+i));
  }
max=*(p+1);
for (i=2;i<=quant;i++)
{
 if (*(p+i)>=max)
  max=*(p+i);
 }
printf("maior e :%f\n",max);
free(p);
}





Postar um comentário

Atenção antes de Deixar um Comentário!
- Se o seu comentário for relacionado ao post, tenha certeza de que o leu.
- Todo comentário obsceno, ilegal, ofensivo, anônimo, escrito todo em maiúscula, contendo gírias em excesso ou estritamente publicitários, serão "apagados".
- Somente inclua links no comentário se ajudar a explicar o seu comentário.
- Se precisa de ajuda, procure deixar o máximo de informação possível.
- Não peça para adicionar ao MSN.
- Spam não será tolerado.

Postagem Anterior Próxima Postagem