@Sazoks

Как написать функцию добавления/удаления элемента в массив?

Нужно написать аналог ф-ии С++ на Си. Я пробовал через ссылки (&) - не работает. Пробовал передавать в ф-ию адрес указателя, запись новых данных идет, но почему-то не получается удалить...
В общем, всю голову сломал уже. Нужная мне ф-ия на С++ выглядит так:
void append_element(int *&arr, int &size, int value)
{
	int *new_array = new int[size + 1];	
	for (int i = 0; i < size; i++)		
	{
		new_array[i] = arr[i];
	}
	new_array[size] = value;	
	size++;
	delete[] arr;
	arr = new_array 
}

Буду очень признателен, если поможете.
P.S. Нужно написать ф-ию именно с такой сигнатурой, как в С++. Без возвращения значений.
  • Вопрос задан
  • 62 просмотра
Решения вопроса 1
wataru
@wataru
Разработчик на С++, экс-олимпиадник.
На Си будет практически то же самое. Только вместо new надо делать malloc, а вместо delete - free.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы