View Single Post
Old 05-08-2013, 15:37   #7
WarDuck
Senior Member
 
L'Avatar di WarDuck
 
Iscritto dal: May 2001
Messaggi: 12852
Quote:
Originariamente inviato da misterx Guarda i messaggi
scusa ma ti chiedo conferma, non so se ti ho depistato io ponendo una domanda mal fatta; io vedo l'array come 10 tabelle formate da 10000 righe e 8 colonne ognuna: ottengo il medesimo risultato col tuo codice?

A colpo d'occhio si direbbe di si, ma faccio più fatica a vederlo.

grazie
Ho appositamente cambiando gli indici perché nn sapendo cosa dovevi fare esattamente mi veniva più comodo...

Forse per comodità di lettura e di organizzazione potrebbe scrivere così:

Codice:
struct riga
{
   tipo col[8];
};

struct tabella
{
   struct riga* row;
};

int main(void)
{
   const int numero_tabelle = 10;
   const int numero_righe    = 10000;

   struct tabella tabs[numero_tabelle];

   // inizializzazione tabelle
    
   for (int i=0; i < numero_tabelle; i++)
   {
        tabs[i].row = malloc(numero_righe * sizeof(struct riga));
   }

   ...

   // si può accedere con tabs[i].row[j]->col[k]
}
Nota che a seconda quello che devi fare potrebbe essere conveniente allocare meno righe per volta.

Ultima modifica di WarDuck : 05-08-2013 alle 15:40.
WarDuck è offline   Rispondi citando il messaggio o parte di esso