有兩個線程需要訪問相同的全局C結構。我需要從函數的值複製到以下結構將指針複製到指向結構中某個結構的指針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指向相同的地址隊列2,但*(my_queue.queue1)不指向同一地址*隊列2。我如何使它們相同?我需要知道兩種方法。首先,我如何讓它們通過指針指向相同的結構,以及如果我想製作結構的副本?
你不能使用更具描述性的名字呢? –
我已添加更多描述性名稱。 – Haz
請始終使用大寫字母輸入名稱,使用小寫字母輸入功能和對象名稱。使代碼更加可讀! – Kos