编辑代码

#include <stdio.h>
#include <stdlib.h>

typedef struct test
{
  int num;
} ST;

int main () {
    
    ST *st = (ST *)malloc(sizeof(ST));
    ST *st1 = (ST *)malloc(sizeof(ST));
    ST st2;

    st->num = 10;
    st1->num = 20;
    
    memset(&st2, 0, sizeof(ST));
    memcpy((char *)&st2, (char *)st, sizeof(ST));
    printf("st2.num:%d\n", st2.num);

    memset(&st2, 0, sizeof(ST));
    memcpy((char *)&st2, (char *)st1, sizeof(ST));
    printf("st2.num:%d\n", st2.num);

    return 0;
}