Я имею следующую структуру для динамического вектора:С динамической вектор структуры
typedef struct {
TElement *data;
int len;
}Vector;
А 2 функции, один для инициализации вектора, а другой, чтобы добавить элемент:
Vector *initVector()
{
Vector *v;
v = malloc(sizeof(TElement));
v->len = 0;
return v;
}
void append(Vector *v, TElement element)
{
v = (Vector *)realloc(v, (v->len + 1) * sizeof(TElement));
v->data[v->len++] = element;
}
Когда я пытаюсь добавить элемент, программа падает, и я не знаю, почему, какие-либо идеи?
Что вы обнаружили, когда пытались отладить это? –
'v = malloc (sizeof (TElement))' .... fishy ... –
Почему 'sizeof (TElement)'? Это не имеет никакого смысла. – juanchopanza