Probleme de #define... [C] - C++ - Programmation
Marsh Posté le 14-02-2003 à 16:40:06
Hmmm ... ça sent effectivement l'explosion de stack avec la déclaration d'un gros tableau sur la pile... -> a remplacer par un malloc
Marsh Posté le 14-02-2003 à 17:42:16
Comment je peux faire avec un malloc, car ma variable "max" sert à faire un tableau de structure ??
Code :
|
Marsh Posté le 14-02-2003 à 17:57:39
FabienM a écrit : Comment je peux faire avec un malloc, car ma variable "max" sert à faire un tableau de structure ??
|
Code :
|
Marsh Posté le 14-02-2003 à 18:02:38
et ne pas oublier le free() qui va avec lorsque tu as plus besoin du tableau (du tout )
Marsh Posté le 14-02-2003 à 20:07:56
Ah ouai ok !!pasque moi g essayer de mettre le malloc entre les accolades ...
Marsh Posté le 14-02-2003 à 22:21:57
Bon g plus d'erreur "arraysize" mais un autre probleme plus grave c ke ca plante à tout va !!
Le probleme est k'en faite je ne sais pas combien de données seront stockées dans le tableau de structure...
car c bien jolie de faire
Code :
|
mais on peut reserver de la memoire pour rien ou bien au contraire ne pas en reserver assez !!
Comment palier à ce probleme ??
Marsh Posté le 14-02-2003 à 22:34:54
moi je te donne la solution si tu confesses que t'es un boolay
Marsh Posté le 14-02-2003 à 22:44:23
ben forcement que j'suis une merde !!
On nous demande de faire des trucs bien plus compliqué ke nos connaissances...alors comment veux tu !! on en decouvre tt les jours...
Marsh Posté le 14-02-2003 à 23:11:33
FabienM a écrit : ben forcement que j'suis une merde !! |
relis un peu le post, la reponse t'as deja etais donné plein de fois
Marsh Posté le 14-02-2003 à 23:30:16
pourquoi paske cela c pas correct ??
Code :
|
Marsh Posté le 14-02-2003 à 23:47:32
c'est tout a fait correct, max designe le nombre d'éléments alloués dynamiquement. en fait je crois que tu aurais besoin d'un cours sur les pointeurs pour comprendre à quoi sert malloc
Marsh Posté le 15-02-2003 à 00:04:30
FabienM a écrit : pourquoi paske cela c pas correct ??
|
En général, le cast du malloc n'est pas nécessaire... enfin bon, c'est souvent sujet à débats (cf. http://www.faqs.org/faqs/fr/comp/lang/faq-c-3/)
Marsh Posté le 15-02-2003 à 00:07:28
FabienM a écrit : Bon g plus d'erreur "arraysize" mais un autre probleme plus grave c ke ca plante à tout va !!
|
realloc() ou alors tu malloc() quand tu sais combien d'éléments tu vas avoir...
Marsh Posté le 15-02-2003 à 00:09:47
ReplyMarsh Posté le 15-02-2003 à 01:06:32
Ou déclarer le tableau en global ou static.
Marsh Posté le 15-02-2003 à 10:17:20
Musaran a écrit : Ou déclarer le tableau en global ou static. |
ouais enfin bon, c'est pas une bonne habitude. les debutants sont nuls en calcul mental et tu te retrouves avec des double tab[500][500] etc....
la pile c'est bien, les caraibles statiques c'est bien, en abuser, ça craint, le malloc je commence demain...
Marsh Posté le 15-02-2003 à 13:07:02
Oui mais le probleme c ke je ne sais pas combien de données seront stocké ds la structure...
Marsh Posté le 14-02-2003 à 14:59:02
J'aimerai reserver un espace buffer avec la commande
mais le probleme qui se pose, j'ai besoin de reservé un tres grand espace buffer (50000)et j'obtiens une erreur "arraysize is too large". normal !!
Mais comment pourrais je faire pour reserver autant d'espace buffer ???