This ought to simple. Say we have a struct from a library that doesn’t offer copying facilities. Is there an easy way to copy a variable of the type of that struct to a new variable of the same type without doing assignments for each of its sub members? Or does one have to be making special copying functions?
Share
Well, struct types are assignable in C:
It doesn’t matter, where they are defined. And there’s no need to copy “each of the sub members”. Where did you even get the idea about copying it member by member?
Of course, the assignment will perform shallow copying only. If you need deep copying, you need a library-provided copying routine. If there’s none, you will have to implement it yourself. In order to do that you will need full knowledge of the actual deep-memory organization of the structure. If you don’t know it (i.e. if it is not documented), you are out of luck – proper deep-copying is impossible.