结构体变量如何赋值可以直接赋值吗

我的意思是structa{inta;charb;}aa;structb{inta;charb;}bb;bb=aa;可以吗... 我的意思是
struct a
{
int a;
char b;
}aa;
struct b
{
int a;
char b;
} bb;
bb = aa;可以吗
展开
 我来答
匿名用户
推荐于2017-10-01
展开全部
  结构体变量是可以直接赋值的;
  定义结构体类型,然后用这个类型定义出来的变量就是结构体变量;
  C语言在相同类型的变量间赋值时是直接内存复制的,即将他们的内存进行复制,这里因为同样结构体变量,属于同一种变量,所以赋值时是按照他们的内存分布来直接拷贝的。
cloudy_n
2008-03-28 · TA获得超过171个赞
知道小有建树答主
回答量:264
采纳率:0%
帮助的人:0
展开全部
可以直接赋值,但是在有指针的情况下会出现指向同一位置的情况,在这种情况下,释放掉其中之一那么,另一个的指针使用会出现非法.
因为他们有默认的赋值重载.但是只可以简单的将对应的值一一赋给对方.

同一类型用得着声明两次么?这么多人都说了,可以呀.只是有些像上面说的那种情况你要注意一下.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ggdmdf
2008-03-28 · TA获得超过1520个赞
知道小有建树答主
回答量:1024
采纳率:0%
帮助的人:1245万
展开全部
可以,但是不太推荐.

--------------------
可以在定义时赋值,也可以通过变量来赋值,C++里面还可以通过构造函数,成员函数来赋值等...

struct yy {
int i;
float f;
}a = {1, 0.1};

struct yy b;
b.i = 2;
b.f = 1.1;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cnmahj
2008-03-28 · TA获得超过954个赞
知道小有建树答主
回答量:785
采纳率:0%
帮助的人:1070万
展开全部
结构体变量可以直接赋值的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
就烦条0o
2018-07-28 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46493
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
结构体的赋值仅仅是简单的浅复制,如果涉及到指针类型就会出问题,比如:

struct BirthDay
{
int m_Year;
int m_Month;
int m_Day;
};
struct stu
{
int m_Age;
char m_Sex;
BirthDay *bd;
};
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式