Re: maximum size in c

トップ ページ

このメッセージに返信
著者: jeanluctux
日付:  
To: guilde
題目: Re: maximum size in c
ton tableau y[i] est peut-etre mal initialisé, ou mal déclaré.
Enfin, bon, je crois que tu vas trouver ... je ne pense pas que ce soit une
limite de tableau comme tu pensais au départ mais plutot une erreur de
programmation.

Le Monday 17 November 2008 22.54:16 Patrick Dupre, vous avez écrit :
> Merci,
>
> Mais je comprends rien,
> C'est exact, le segmentation fault est du a:
> for (i = 0 ; i < nb_pt ; i++) fprintf (file_out,"%11.5f %g\n", x [i], y
> [i]) ;
> qui est a la fin du programme.
> Si je fait :
> for (i = 0 ; i < nb_pt ; i++) fprintf (file_out,"%11.5f %g\n", x [i]) ;
>
> Ca marche,
>
> de meme ceci marche:
>
> #define MAXDBL 4194304
> double x[MAXDBL], y [MAXDBL] ;
> int main () {
>      unsigned long int i;
>      unsigned long int nb_pt = MAXDBL ;
>      FILE *file_out ;
>      file_out = fopen ("tmp.txt", "w") ;
>      for(i = 0 ; i < MAXDBL ; i++)
>      {
>          x [i] = 1.0 ;
>      };
>      for (i = 0 ; i < nb_pt ; i++) fprintf (file_out, "%11.5f %g\n", x [i],
> y [i]) ;
>      return 0;
> };

>
> Ou est l'erreur ?
>
> > Regarde si tu n'aurais pas d?clar? ton tableau ? l'int?rieure d'une
> > fonction. Si oui, ca va mettre ton gros tableau dans la pile, et l?,
> > c'est une autre histoire.
> >
> > Jean-Luc.
> >
> > Le Monday 17 November 2008 21.27:40 Patrick Dupre, vous avez ?crit?:
> >> Bonsoir,
> >>
> >> Je declare:
> >> double x [1048576]
> >> et j'obtiens un segmenation fault !
> >> double x [524288]
> >> est OK.
> >>
> >> est-ce qu'il y a des tailles maximum en c ?
> >> J'ai 1 Go de RAm, et j'ai deux variable telles que x !