|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Jun 2010
Messaggi: 2
|
Problema allocazione memoria CALLOC
Ciao a tutti, ho un problema sulla funzione calloc del c, spero che qui qualcuno possa aiutarmi!
ho bisogno di allocare uno spazio contiguo di memoria pari a 64 elementi (strutture) ognuno di dimensione 16kbyte. per fare questo ho usato la calloc in questo modo: struct frame *fr = calloc ( 64, sizeof ( 16384 ) ); per testare il suo funzionamento mi sono fatto stampare a video un po di campi della struttura ma mi sono accorto che la calloc mi alloca più di 64 elementi. infatti se mi faccio stampare un campo di frame[200] (ad esempio) la printf mi stampa comunque il valore 0. come faccio per far allocare solamente i 64 elementi che mi servono???sbaglio qualcosa nella calloc??? grazie! |
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Dec 2007
Città: Palestro
Messaggi: 1960
|
Quote:
|
|
|
|
|
|
#3 | |
|
Junior Member
Iscritto dal: Jun 2010
Messaggi: 2
|
Quote:
struct frame *fr = ( struct frame* )calloc ( 64, sizeof ( struct frame ) ); ma da lo stesso problema!!! e cioè se mi faccio stampare frame[500].campo (ad esempio) mi da sempre il valore 0 che ha inizializzato la calloc..cosa che invece non dovrebbe fare! |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Quote:
Se proprio non sei convinto usa un tool tipo valgrind, crea un main in cui allochi la memoria senza deallocarla e verifica quanta memoria "leaked" il tool riporta.
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:19.



















