struct A{char v1[20];int v2;} a,b;a = b;这是没有任何问题的赋值.a和b存储地址不同struct B{char *v1;int v2;} c,d;c = d;这种结构体赋值,就需要注意(包括在C++里)。因为这个结构体里有指针(如果指针没有指向具体空间,d只会把v1赋给c)