Имеют два потока, которым необходим доступ к одной и той же глобальной C-структуре. Мне нужно скопировать значения из функции в следующую структуру
typedef struct {
struct queue ** queue1;
} my_struct;
my_struct my_queue;
my_func(struct queue ** queue2)
{
my_queue.queue1 = queue2;
*(my_queue.queue1) = malloc(sizeof( struct * queue));
*(my_queue.queue1) = *queue2;
}
Когда я проверяю значения, my_queue.queue1 правильно указывает на тот же адрес, что и queue2, но * (my_queue.queue1) не указывает на тот же адрес, что и * queue2. Как мне сделать их такими же? Мне нужно знать два подхода. Во-первых, как мне заставить их указывать на одни и те же структуры с помощью указателя и что, если я хочу сделать копию структур?