[C] probleme de taille...

m0n0-le-14r3 Messages postés 174 Statut Membre -  
blurk Messages postés 493 Date d'inscription   Statut Membre -
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 -->

10 réponses

  1. Luffy =) Messages postés 366 Statut Membre 110
     
    et qu'est-ce qu'il dit monsieur compilo ?
    0
  2. m0n0-le-14r3 Messages postés 174 Statut Membre 17
     
    ben il dit [ violamment, vraiment ] :

    " psfjmp.c:39: error: size of array `header' is too large "

    avec un regard sadique ... en plus !
    0
  3. Ravachol Messages postés 568 Statut Membre 120
     
    Salut,
    header[6][80] ça passe pas ?

    A++
    0
  4. m0n0-le-14r3 Messages postés 174 Statut Membre 17
     
    ben t sur que ca revient au meme???
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Luffy =) Messages postés 366 Statut Membre 110
     
    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 !!!
    0
  7. m0n0-le-14r3 Messages postés 174 Statut Membre 17
     
    ma variable est char..

    et oui j'ai vraiment besoin de tout ça ( analyse d'image ) !!!

    ...mdr... :P

    <--- mono -->
    0
  8. Ravachol Messages postés 568 Statut Membre 120
     
    Désolé j'avais pas percuté non plus.

    A++
    0
  9. kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
     
    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 ?

    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 !!!
    ++
    0
  10. Luffy =) Messages postés 366 Statut Membre 110
     
    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.
    0
  11. blurk Messages postés 493 Date d'inscription   Statut Membre 160
     
    un truc à savoir aussi,
    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+
    0