Quote:
Originariamente inviato da misterx
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.