Я создаю свою личную универсальную библиотеку с функциями и структурами данных в C.
У меня есть универсальный вектор
typedef struct vector
{
int max;
int size;
void **data;
} vector_t;
, и я создал функции для вектора:
int vector_new( vector_t * v, int vecsize );
int vector_add( vector_t *v , void *elem );
int vector_remove( vector_t * v, void *elem);
void vector_free( vector_t *v );
В реализации функции remove я добавляю элемент тогда и только тогда, когда элемент еще не присутствует в массиве данных.Я создал функцию search (потому что я не хочу сортировать вставляемый элемент) для поиска возможных дубликатов.
Что ж, у меня есть сомнения относительно типа первого параметра, которыйЯ должен перейти к функции.Я хочу создать функцию search не только для этого использования, но и для общего использования.
В remove () я назвал ее так: search(v->data, elem);
, но каким будет прототипфункция?
int search( ??? , void * e );
Я знаю, что первый параметр может быть массивом.Но я не знаю, например, void*
или void**
.
Важно то, что эта функция работает не только для структуры и функций, которые я создала.