Я пытаюсь написать 2 функции в C, один из которых добавит элемент в конец моего массива, который я передам как аргумент, а другая функция, которая удалит элемент из массив передан как аргумент.Добавить/удалить элемент из массива
Я не очень хорошо знаком с C, а не хорошо в арифметике указателей.
Я пытался что-то вроде этого, но это, кажется, не работает должным образом:
void remove_element(type *elements, type element, int size){
int i;
int index = 0;
for(i=0; i<size; i+=1){
if(equals(elements[i], element)) index = i;
}
for(i=index; i<size-1; i+=1){
elements[i] = elements[i+1];
}
}
void add_element(type *elements, type element, int size){
elements = realloc(elements, size*sizeof(element));
elements[size-1] = element;
}
То есть, как я хочу, чтобы вызвать функции:
add_element(elements, new_element, size);
remove_element(elements, element_to_remove, size);
Не могли бы вы рассказать о том, как это работает? Вы также можете показать некоторый код, показывающий, как вы используете эти функции, пожалуйста, прочитайте, например. http://sscce.org/ –
Ваш код не похож на то, что он действительно помещает что-либо в массив. –
Опишите * «похоже, что он не работает должным образом» *. Какой вклад вы дали своей программе? Какие результаты вы ожидали? какие результаты вы действительно получили? Я вижу только две функции в вашем коде. Нет 'main', нет ввода, нет выходных данных. – abelenky