Me desculpe a pressa, mas o final de ano esta' MUITO corrido. Utilizando alocacao dinamica voce pode utilizar TODA a memoria LIVRE da sua maquina para armazenar o seu vetor. Para saber quanto voce tem de memoria livre, utilize o comando free. Um exemplo segue abaixo.
Este e' o mapa de memoria antes de se rodar o programa:
total used free shared buffers cached
Mem: 642156 257652 384504 0 54432 84676
-/+ buffers/cache: 118544 523612
Swap: 257000 4584 252416
Este e' o mapa de memoria durante a execucao do programa.
total used free shared buffers cached
Mem: 642156 637684 4472 0 54908 73640
-/+ buffers/cache: 509136 133020
Swap: 257000 4584 252416
Repare nas colunas used e free. Uma versao mais informativa do programa segue abaixo.
#include<stdio.h>
#include<stdlib.h>
#define tam 100000000
int main(void)
{
unsigned int i;
int * vetor;
if( (vetor = (int *) malloc ( tam * sizeof(int) )) != NULL )
{
for(i=0;i<tam;i++) *(vetor + i) = 1;
}
else
{
printf("\n\n Nao foi possivel alocar memoria dinamicamente!!!\n\n");
printf(" Causa provavel: Falta de memoria!!!\n\n");
printf(" Reduza o tamanho da memoria alocada e utilize o comando free\n\n");
printf(" para monitorar a ocupacao de memoria.\n\n");
}
getchar();
return(0);
}
Qualquer duvida, me mande um e-mail. Um grande abraco,
Mazolli.
Departamento de Fisica UFRJ _______________________________________________ slack-users mailing list [EMAIL PROTECTED] http://www.linuxmag.com.br/mailman/listinfo/slack-users

