有没有办法将常量结构的浅拷贝复制到非常量结构?

Is there a way to make a shallow copy of a constant struct to a non-constant struct?

我想对具有恒定减速的整个结构进行浅拷贝。但我希望我正在复制的结构也不是常量。

这是我到目前为止所做的,但产生了错误:

struct Student{
    char *name;
    int age;
    Courses *list;  //First course (node)
}Student;

void shallowCopy(const Student *one){
    Student oneCopy = malloc(sizeof(one));

    oneCopy = one;     <--------------- ERROR POINTS TO THIS LINE
}

我得到的编译器错误:

Assignment discards 'const' qualifier from pointer target type.

我知道我可以从一个中删除 const 或将 const 添加到 oneCopy,但我想知道是否有办法在其中进行浅拷贝Student oneconst 而副本 Student oneCopy 不是的特定情况。

应该是:

Student* oneCopy = malloc(sizeof(*one));
*oneCopy = *one;

因为你想分配结构,而不是指针。