У меня небольшая проблема с созданием копии данных.
В C У меня есть функция
struct data* copy_and_change(const struct data* input_data)
struct data
содержит один указатель на struct header
и несколько целых чисел
struct header
- это структура, которая содержит информацию о пользователе (символы, целые числа ...)
struct data{
struct header* info;
int salary;
};
Таким образом, для данных в памяти параметр const struct pointer
.
My функция должна получить данные из параметра и создать копию этих данных, переставить их и вернуть указатель на новые данные (скопированные данные)
Изменение порядка и обработка данных с данными не представляет проблем. проблема в том, чтобы сделать копию данных
Мой вопрос: что я должен использовать для копирования данных?
Я пытался использовать memcpy()
. g cc дает ошибку argument to ‘sizeof’ in ‘memcpy’ call is the same expression as the destination; did you mean to dereference it?
- вероятно, из-за параметра const