[C] probleme de taille...
m0n0-le-14r3
Messages postés
174
Date d'inscription
Statut
Membre
Dernière intervention
-
blurk Messages postés 486 Date d'inscription Statut Membre Dernière intervention -
blurk Messages postés 486 Date d'inscription Statut Membre Dernière intervention -
voila le probleme :
je suis actuellement en train de transformer des fichiers FORTRAN en C et la je tombe sur OS :
une varaible FORTRAN est ainsi : header(6)*80 ...
ce qui donne en C header[80][80][80][80][80][80]...
et monsieur compilo ne veut pas de ca ... quelqu'un pourrait m'aider??
merci :)
<-- mono -->
je suis actuellement en train de transformer des fichiers FORTRAN en C et la je tombe sur OS :
une varaible FORTRAN est ainsi : header(6)*80 ...
ce qui donne en C header[80][80][80][80][80][80]...
et monsieur compilo ne veut pas de ca ... quelqu'un pourrait m'aider??
merci :)
<-- mono -->
A voir également:
- [C] probleme de taille...
- Comment réduire la taille d'un fichier - Guide
- Reduire taille image - Guide
- Afficher taille dossier windows - Guide
- Taille clavier iphone - Guide
- Taille feuille a5 - Guide
10 réponses
ben il dit [ violamment, vraiment ] :
" psfjmp.c:39: error: size of array `header' is too large "
avec un regard sadique ... en plus !
" psfjmp.c:39: error: size of array `header' is too large "
avec un regard sadique ... en plus !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
En fait j'avais pas réagi, mais tu as vraiment besoin de tout ça ? et ta variable, char ou int ou autre chose ?
car cela représente 80^6 = 262144000000
c'est énorme !!!
car cela représente 80^6 = 262144000000
c'est énorme !!!
ma variable est char..
et oui j'ai vraiment besoin de tout ça ( analyse d'image ) !!!
...mdr... :P
<--- mono -->
et oui j'ai vraiment besoin de tout ça ( analyse d'image ) !!!
...mdr... :P
<--- mono -->
Pour répondre à ton prblème Mono, vient voir le doctor ListeChainnée et hop une petite dose ! Ahhh... c'que ca fais du bien une petite liste chaînée bien croustillante!
Bonne chance je ne vois que ca pour toi !
Au passage : c'est pas [6][80] mais [80][6], et puis en fait, tout compte fait je dirais même, pkoi tu déclare pas un type ou une pauv structure à deux balles qui fait ton [6], et tu fais unt tableau de 80 structure de ce genre, tu vois ce que je veux dire ?
Et on dit merci qui mono ??
Merci kij !! de m'avoir répondu alors que je suis déjà partis manger !!!
++
Bonne chance je ne vois que ca pour toi !
Au passage : c'est pas [6][80] mais [80][6], et puis en fait, tout compte fait je dirais même, pkoi tu déclare pas un type ou une pauv structure à deux balles qui fait ton [6], et tu fais unt tableau de 80 structure de ce genre, tu vois ce que je veux dire ?
typedef struct bibi { ton machin de [6] }; int main () { strcut bibi monmachin[80]; }
Et on dit merci qui mono ??
Merci kij !! de m'avoir répondu alors que je suis déjà partis manger !!!
++
alors [6][80] n'a rien avoir avec [80][80][80]...
exemple :
->char [3][4] tu auras 3 lignes avec 4 colonnes d'où 3*4 cases (ce qui fait 12...)
->char [3][3][3][3] tu auras 3 lignes qui contiendront 3 lignes qui contiendront 3 lignes qui contiendront 3 colonnes. ce qui fait 3^3 cases (euh... 81 :-) )
donc ce n'est pas du tout la même chose à toi de voir ce tu as besoin.
exemple :
->char [3][4] tu auras 3 lignes avec 4 colonnes d'où 3*4 cases (ce qui fait 12...)
->char [3][3][3][3] tu auras 3 lignes qui contiendront 3 lignes qui contiendront 3 lignes qui contiendront 3 colonnes. ce qui fait 3^3 cases (euh... 81 :-) )
donc ce n'est pas du tout la même chose à toi de voir ce tu as besoin.
un truc à savoir aussi,
soit le compilateur refuse, soit ça plante, parce que c'est énorme
et que c'est rarement disponible d'un seul bloc statique.
la seule solution, c'est :
(ne pas oublier
mais c'est vrai que les listes chainées c'est une excellente solution
pour les systèmes à X dimensions.
a+
int variable[500000];
soit le compilateur refuse, soit ça plante, parce que c'est énorme
et que c'est rarement disponible d'un seul bloc statique.
la seule solution, c'est :
int *variable =(int *) malloc(500000 *sizeof(int)) );
(ne pas oublier
free(variable);à la fin de la fonction.)
mais c'est vrai que les listes chainées c'est une excellente solution
pour les systèmes à X dimensions.
a+