我正在尝试在 C 中编写 2 个函数,其中一个将在我作为参数传递的数组的末尾添加一个元素,另一个函数将从作为参数传递的数组中删除一个元素。
我对 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);