Quando nell'allocazione di memoria utilizzi la dimensione di un puntatore ad un oggetto di tipo void, cioè sizeof(void *), questa ti restuituirà la dimensione di un qualsiasi puntatore. Ovvero 4 byte per sistemi a 32bit e 8 byte per sistemi a 64bit.Originariamente inviato da Lasentinella
Ah ecco, non avevo pensato a quelloPerò volendo lasciare un tipo "generico" come posso stabilire la dimensione di quel void*? Cioè, come posso sapere a priori che dimensioni dargli?
Stai creando un vettore di puntatori, non un array di caratteri. Quei puntatori sono indirizzi di memoria che potranno essere poi eventualmente sovrascritti per puntare a dati di tipo voluto.codice:array=(void**)malloc((sizeof(void*))*capacitaIniziale);

Però volendo lasciare un tipo "generico" come posso stabilire la dimensione di quel void*? Cioè, come posso sapere a priori che dimensioni dargli?
Rispondi quotando