b = a是重新定义了一个结构体对象,b.name获得的是a的地址,在改变b.name的值时改变了b.name的指向,为何会影响a.name的值与指向
struct stu{
char *name,gender;
int score;
};
main(){
struct stu a = {NULL,'m',290},b;
a.name = (char*)malloc(10);
strcpy(a.name,"Qian");
b = a;b.gender = 'f';
b.score = 350;
strcpy(b.name,"Qian");
printf("%s,%c,%d,",a.name,a.gender,a.score);
printf("%s,%c,%d\n",b.name,b.gender,b.score);
return 0;
}