PDA

Visualizza la versione completa : [C] Reallocare area di memoria di tipo void


johnnny
26-08-2014, 16:02
Ragazzi ho un problema nel reallocare un vettore di puntatori a void.
Questa la mia struttura :


struct graph{
int nv; //Numero vertici esistenti
int buffer; //Dimensione array allocato
int **A; //Puntatore alla matrice contenente gli archi
void **V; //Puntatore all'array contenente i vertici
};

Procedo in questo modo:


G->V=(void **)realloc(G->A,(G->buffer)*sizeof(void *)


Dove sbaglio ?

Scara95
26-08-2014, 22:11
G->A

johnnny
27-08-2014, 11:22
G->A

Si giusto, cos :



G->V=(void **)realloc(G->V,(G->buffer)*sizeof(void *));


Poi assegno ogni volta un valore void in questo modo :


(G->V[i])=k;


Per ho un problema, quando provo a stampare i valori contenuti nell'array, nel momento in cui inserisco il quarto elemento, dopo averli stampati tutti e 4, mi va in segmentation Fault :dh::dh::dh::dh::dh:

oregon
27-08-2014, 13:24
Bisogna vedere il resto del codice ... cosa k ? Quanto vale G->buffer ?

Loading