я не могу выделить массив структуры в c - PullRequest
0 голосов
/ 04 апреля 2020
row->cell=(CSV_CELL *) malloc(sizeof(CSV_CELL)*clms);
for(i=0;i<clms;i++)
{
    printf("size=(%d)\n",sizeof(row->cell[i]));
    printf("(%s)(%p)(%d)\n",tmp,&(row->cell[i]),*pty[i]);
}

результат равен size=16 и clms=3
, когда i=0 результат второго отпечатка равен

(1)(006C0EA8)(0)

, но при доступе ко второму элементу i=1 программа разбился

структура

typedef union
{
    int i;
    double d;
    char * s;
} CELL_VAL;

//the cells
typedef struct
{
    int type;
    CELL_VAL val;
}CSV_CELL;
...