|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Aug 2009
Messaggi: 119
|
[C] array, stringhe e malloc
Salve, avrei un piccolo problema da risolvere: sostanzialmente devo creare un array di stringhe, ma inizialmente non so' quanto deve essere grande la dimensione dell'array. In pratica devo realizzare dei record che al loro interno hanno un array di stringhe, ma il numero di stringhe e' diverso, in generale per ogni record. Il numero di queste stringhe lo so' solo quando andro' a riempire i campi dell'array stesso. Quindi la soluzione sarebbe usare la malloc, ma non so' come fare. Vi sarei molto grato se potreste darmi una mano. Ciao a tutti!
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Aug 2009
Messaggi: 119
|
si, ma devo farlo in c...
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
vai di realloc e che Dio t'aiuti, perché non sará facile.
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
|
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Aug 2009
Messaggi: 119
|
non vorrei usare usare una lista, xche' si tratta della realizzazione di una piccola libreria per fare un dbms. Ci sarebbero gia' altre 2 liste collegate e siccome per ogni tabella il numero di campi del record e' fisso mi sembra stupido dovermi gestire una lista che avrebbe dimensione fissa. Pensavo piu' che altro di dare ai campi dimensione fissa e allocare con una malloc un array di vettori di caratteri di dimensione fissa appunto. Cosi' dovrebbe essere piu' facile. Che ne dite? Nella realta' credo che un dbms allochi proprio in questo modo, cosi' da poter leggere blocchi di dati da disco, invece che usare liste...
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Fatti una allocazione a blocchi
Ti allochi, ad esempio 4KB, poi se li riempi ne allochi altri 4KB. Per l'accesso ad ogni pagina usi un vettore. Così usi la realloc sul vettore invece che sulla memoria |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:52.




















