两个不类型的结构体赋值

多个结构体嵌套,并且各部分参数都有值,需要将这里面其中一部分参数赋值给另一个结构体,有什么比较简单或者便利的办法吗?或者怎么样可以建立一下两个结构体之间的关系?

memcpy 直接拷贝

定义operator=,或者转换函数

供参考:

#include <stdio.h>
#include <string.h>
typedef struct data // 定义公共数据域部分
{
    int  n;
    //...
}Data;

struct MyStruct
{
    Data data;
    //...
};

struct MyStruct1
{
    Data data;
    //...
};

int main()
{
    struct MyStruct my;
    struct MyStruct1 my1;
    my.data.n = 100;
    memcpy(&my1.data, &my.data, sizeof(Data));
    printf("%d", my1.data.n);
    return 0;    
}