OK,
Petite erreur de ma part, je faisais un simple realloc (p, size) sans
reaffecter la valeur au pointeur p = realloc (p, size) ;
Desole et merci.
> Salut !
>
> Le samedi 21 juin, Patrick Dupre a écrit :
>> Je fais un malloc d'un double,
>> ensuite pour accroitre la taille de mon tableau, je fais un
>> realloc d'un double en accroissant la taille chaque fois.
>>
>> Il semble que cette reallocation ait un limite, typiquement, vers
>> 16892. Est-ce que c'est un problem hard, soft ou juste une mauvaise
>> facon d'accroitre dynamique la taille d'un tableau ?
>
> Tu peux donner un minimal exemple de code qui montre le problème ? Chez
> moi un million de doubles ne lui pose pas de problème, et c'est une
> vieille machine.
>
> [edgar@pulsar tmp]$ cat > realloc.c << EOF
> > #include <stdio.h>
> > #include <stdlib.h>
> >
> > int main(void)
> > {
> > double *p;
> >
> > p = malloc(1000 * sizeof *p);
> > if (!p) { perror("malloc()"); return EXIT_FAILURE; }
> >
> > p = realloc(p, 1000000 * sizeof *p);
> > if (!p) { perror("realloc()"); return EXIT_FAILURE; }
> >
> > puts("OK.");
> > return EXIT_SUCCESS;
> > }
> > EOF
> [edgar@pulsar tmp]$ gcc -O -Wall -Wextra realloc.c -o realloc
> [edgar@pulsar tmp]$ ./realloc
> OK.
> [edgar@pulsar tmp]$
>
> Edgar.
>
>
>
--
---
==========================================================================
Patrick DUPRÃ | |
Department of Chemistry | | Phone: (44)-(0)-1904-434384
The University of York | | Fax: (44)-(0)-1904-432516
Heslington | |
York YO10 5DD United Kingdom | | email: pd520@???
==========================================================================