Итак, у меня есть структура с массивами внутри, например:
struct struct1 {
unsigned char data1[32];
unsigned char data2[32];
char *id;
};
и вторая структура, определенная как
typedef struct
{
uint8_t id;
uint8_t data1[32];
uint8_t data2[32];
} struct2;
Struct1 с данными уже внутри, она передается мне черезтакая функция:
bool func1(struct struct1 * const struct1)
и мне нужно создать NEW struct2 и передать в нее все данные из struct1.
Я думал, что мог бы просто назначить указатели следующим образом:
struct2 *new_struct;
new_struct->id = struct1->id;
new_struct->data1 = struct1->data1;
new_struct->data2 = struct1->data2;
, но я думаю, что указатели на массивы в C нельзя изменить (или, по крайней мере, это то, что я получил, прочитав их).
Итак, как мне создать новый struct2 и передать нужные мне данные из struct1?