typedef struct T_NUMVECT { int size; double eps; double v[]; } t_numv; t_param* param_init(void) { return malloc (sizeof( t_param )); } t_numv* numv_init(void) { t_numv *numv = malloc (sizeof( t_numv )); numv->size = 0; return numv; } int numv_append(t_numv *numv, double val) { numv->size++; if(numv->size % BLOCK_SIZE == 0) if((numv = realloc(numv, sizeof(t_numv) + (numv->size + BLOCK_SIZE) * sizeof(double))) == NULL) return E_BAD_ALLOC; numv->v[numv->size - 1] = val; return E_OK; } main(): t_numv *numv = numv_init(); . . . while(somework) numv_append(numv, doubleval); anyone can give me a hint why i get memory errors on each realloc ?