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;