为什么我的结构副本被更改?

时间:2018-12-17 16:33:10

标签: c

void sched(struct process ** process, int arrSize){
 struct process ** copy = process;
 quickSort(copy, 0, arrSize-1);

我有一个原始的struct数组进程,其中包含原始数据。我想保留原始数据,所以我要复制它。我对复制的结构进行排序,当我打印原始结构时,它会打印出排序后的结构。我可以采取一切措施,但不确定为什么这样做。

1 个答案:

答案 0 :(得分:0)

您需要在for循环中分别复制结构的每个成员

for (int i = 0; i < arrSize; i++)
{
    copy[i].member1 = process[i].member1;
    copy[i].member2 = process[i].member2;
    // and so on
}