#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct stu
{
char name;
char g;
int score;
}STU;
void f(char p)
{
p=(char)malloc(10);
strcpy(p,"qian");
}
void main()
{
struct stu a={NULL,'m',290},b;
a.name=(char)malloc(10);
strcpy(a.name,"zhao");
b=a;
f(b.name);
b.g='f';
b.score=350;
printf("%s%c%d\n",a.name,a.g,a.score);
printf("%s%c%d",b.name,b.g,b.score);
}
为什么a.name和b.name输出都是zhao,在f函数中不是改变了吗?