typedef struct stu
{
char name[10],gender;
int score;
}STU;
void f(char *p)
{
strcpy(p,"Qian");
}
main()
{
STU a={"zhao",'m',290},b;b=a;
f(b.name);
b.gender='f';
b.score=350;
printf("%s,%c,%d,",a.name,a.gender,a.score);
printf("%s,%c,%d,",b.name,b.gender,b.score);
}
/*
1.程序運行結果為:
zhao,m,290,Qian,f,350,
=======b=a;---b指向結構體變量a的地址了,然後給b變量成員賦值,為何最終結果沒有修改a成員的值呢?
*/
小伙子,你指針沒學好啊,跟我大學時候一樣,對指針沒概念。
STU a={"zhao",'m',290},b;b=a;這樣的定義是拷貝;雖然你沒有定義拷貝構造函數,但是都是基本類型,所以copy是成功的。
STU a={"zhao",'m',290},*b;b=&a;這樣叫指針。