结构体拷贝赋值

yuyuan_scu 2008-10-30 11:32:49
比如ST a;
ST *b;
a = *b;
这应该是c++里面得吧,默认拷贝赋值。
c标准应该没有结构体得直接赋值。
c里面赋值应该都是基本数据类型得包括指针。
是不是这样得?
...全文
314 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xhs_lh04 2008-10-30
  • 打赏
  • 举报
回复
ST a;
ST b;
memcpy(&b,&a,sizeof(ST));

你的b是指针要分配内存
ST a;
ST *b = (ST *)malloc(sizeof(ST));


memcpy(&a, b, sizeof(ST));
lidongxy 2008-10-30
  • 打赏
  • 举报
回复
可以直接用结构对象赋值
xhs_lh04 2008-10-30
  • 打赏
  • 举报
回复
ST a;
ST b;
memcpy(&b,&a,sizeof(ST));

你的b是指针要分配内存
ST a;
ST *b = (ST *)malloc(sizeof(ST));


memcpy(&a, b, sizeof(ST));
tian428 2008-10-30
  • 打赏
  • 举报
回复
c标准可以结构直接赋值
太乙 2008-10-30
  • 打赏
  • 举报
回复
晕~~那你说c里面的结构体咋赋值的?
cxxer 2008-10-30
  • 打赏
  • 举报
回复
C中可以直接赋值.
yellowhwb 2008-10-30
  • 打赏
  • 举报
回复
C语言里结构体也能直接赋值的哦!!
比如ST a, b;
a = b;
这个是可以的!
踏岸寻柳 2008-10-30
  • 打赏
  • 举报
回复
比如ST a;
ST *b;
a = *b; // 换成: b = &a; ^-^
这应该是c++里面得吧,默认拷贝赋值。 // 不是的,这个赋值是非法的,因为b并没有相应的数据空间,或者说:b是野指针
c标准应该没有结构体得直接赋值。 // 一般情况下,我们采用memcpy方式来赋值
c里面赋值应该都是基本数据类型得包括指针。

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧