Ваш код должен выглядеть примерно так:
#define INITIAL_CAPACITY 10 // initial capacity, choose some appropriate value
// between 1 and N
struct vector *vector_new();
{
struct vector *vect = malloc (sizeof(struct vector));
vect->capacity = INITIAL_CAPACITY;
vect->size = 0;
vect->data = malloc(sizeof(int) * INITIAL_CAPACITY);
return vect;
}
Это была простая часть, теперь вам нужно написать функции, которые позволяют поместить некоторые данные в вектор, тогда вы, вероятно, захотитеиспользуйте функцию realloc
, когда размер становится больше емкости.
Для краткости в этом коде не выполняется проверка ошибок.
Для обработки ошибок вы можете вернуть NULL
из vector_new
функция.