Код:
//Функция добавляет в thiz элемент item, дописывая его в конец
void MyVector_AddItem(const PhoneBook& item, MyVector* thiz){
//Увеличиваем размер массива на 1
thiz->data = realloc(thiz->data, sizeof(PhoneBook)*(thiz->count+1));
//Копируем в новый элемент данные item
//ВНИМАНИЕ: этот способ копирования подходит, если и только если PhoneBook не содержит указателей
//или иных ссылок на разделяемые ресурсы (вроде дескрипторов).
//В ином случае нужно написать функцию PhoneBook_initWithCopy(const PhoneBook* source, PhoneBook* thiz)
//и вызвать здесь её
memcpy(&(thiz->data[thiz->count]), &item, sizeof(PhoneBook));
//Увеличиваем count на 1
thiz->count += 1;
}