中易网

c语言中关于结构体成员的变换

答案:2  悬赏:50  
解决时间 2021-12-15 00:38
typedef stryct stu {char *name,gender;int score;}STU;
void f(char *p) {p=(char *p)malloc(10)strcpy(p,"Qian");}
main()
STU a=(char *)malloc(10);
strcpy(a.name,"zhao");
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\n",b.name,b.gender,b.score);}

typedef stryct 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\n",b.name,b.gender,b.score);}

这两题看见有人问过了,但是没有看懂,第一题在fun中只比第二题多了{p=(char *p)malloc(10) 为什么name输出不一样,求详细解答
最佳答案
//// 1 /////////////////////
typedef stryct stu {
char *name,gender;
int score;
}STU;

void f(char *p) 
{
p=(char *p)malloc(10); 
strcpy(p,"Qian");
}

main()
{
STU a=(char *)malloc(10);
strcpy(a.name,"zhao");
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\n",b.name,b.gender,b.score);
}
/// 2 /////////////////////////////////
typedef stryct 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\n",b.name,b.gender,b.score);
}1. 在函数重新分配了内存, 而字符会复制到新的内存中, 但是在函数返回后, 这个分配的内存内容并不会返回给主函数, 所以主函数中的内容不会变化
2. 在调用函数中完成了字符复制, 并返回给了主函数, 所以主函数中的数值发生了变化.
全部回答
这代码写的莫名其妙乱七八糟的给鬼看呐。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
轟磕的意思是什么?轟磕的释义是什么啊?
北京民生银行柜员培训多长时间呀?期间有工资
今天有个女生叫我送双手套给她,请问有什么含
求个性小组的名称,跟扑克沾点边,有含义的
北京东路的日子如何集体演唱
楚龚的意思是什么啊?请解释下!
一种商品的价格先提高了百分之20,然后再降低
名印的意思是什么?名印的释义是什么啊?
我是女生怎样能变成冷酷的性格
三明市房地产管理局办公地址在什么地方,我要
跨陵的意思是什么啊?请解释下!
一般做家装的木工会做三合一或者斜孔的家具吗
朱盞的意思是什么?朱盞的释义是什么啊?
大田县房地产管理所地址在什么地方,想过去办
EXCEL表格中两者相乘取大值但最低不能低于一
推荐资讯
刚买的话耳线带话筒的...却说不了话
我的网速是512的KBPS为什么我的下载速度在300
电脑开机时出现英文pressakey
淮阳县工商行政管理局王店工商所地址在什么地
奔腾g620双核处理器,想升级下,价格200至400
我想有一个《好成绩作文》怎么写
密码箱扣不上怎么办
三星平板电脑smt700支持otg
毆氣的意思是什么?毆氣的释义是什么啊?
塙核的意思是什么?塙核的释义是什么啊?
苹果6spuls充电器序列号查询C065484630ZFKHGC
不戴头巾男子汉的意思是什么?不戴头巾男子汉
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?