Segmentation fault
Publicado por b-612 (2 intervenciones) el 23/12/2010 15:59:34
Holas, soy novato en C y tengo un problemita que me tiene sin cabeza desde hace un par de días. Resulta que declaré estas estructuras:
typedef struct _indexTableElement
{
INDEX index;
int * ID;
int ** coord;
int countID;
}indexTableItem;
typedef struct _indexTable
{
indexTableItem * rows;
int count;
}indexTable;
Y luego las inicializé en otra parte de mi código:
indexTable fTable;
fTable.rows = (indexTableItem * )malloc(sizeof(indexTableItem) * nkeys);
fTable.rows->ID = (int *)malloc(MAX_NUMBER_ID_PEER_INDEX * sizeof(int));
fTable.rows->coord = (int **)malloc(MAX_NUMBER_ID_PEER_INDEX * sizeof(int));
int i;
for(i = 0; i < MAX_NUMBER_ID_PEER_INDEX; i++)
fTable.rows->coord = (int *)malloc(6 * sizeof(int));
fTable.rows->countID = 0;
fTable.count = nkeys;
El problema es que cuando quiero acceder a un puntero de rows me da un segmentation fault.
Por ejemplo:
fTable.rows[0].ID[0] = 111;
Evidentemente estoy haciendo algo que no se debe, pero no doy con el problema.
Help!!!
typedef struct _indexTableElement
{
INDEX index;
int * ID;
int ** coord;
int countID;
}indexTableItem;
typedef struct _indexTable
{
indexTableItem * rows;
int count;
}indexTable;
Y luego las inicializé en otra parte de mi código:
indexTable fTable;
fTable.rows = (indexTableItem * )malloc(sizeof(indexTableItem) * nkeys);
fTable.rows->ID = (int *)malloc(MAX_NUMBER_ID_PEER_INDEX * sizeof(int));
fTable.rows->coord = (int **)malloc(MAX_NUMBER_ID_PEER_INDEX * sizeof(int));
int i;
for(i = 0; i < MAX_NUMBER_ID_PEER_INDEX; i++)
fTable.rows->coord = (int *)malloc(6 * sizeof(int));
fTable.rows->countID = 0;
fTable.count = nkeys;
El problema es que cuando quiero acceder a un puntero de rows me da un segmentation fault.
Por ejemplo:
fTable.rows[0].ID[0] = 111;
Evidentemente estoy haciendo algo que no se debe, pero no doy con el problema.
Help!!!
Valora esta pregunta


0