结构体变量如何赋值可以直接赋值吗
我的意思是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;可以吗 展开
struct a
{
int a;
char b;
}aa;
struct b
{
int a;
char b;
} bb;
bb = aa;可以吗 展开
7个回答
推荐于2017-10-01
展开全部
结构体变量是可以直接赋值的;
定义结构体类型,然后用这个类型定义出来的变量就是结构体变量;
C语言在相同类型的变量间赋值时是直接内存复制的,即将他们的内存进行复制,这里因为同样结构体变量,属于同一种变量,所以赋值时是按照他们的内存分布来直接拷贝的。
定义结构体类型,然后用这个类型定义出来的变量就是结构体变量;
C语言在相同类型的变量间赋值时是直接内存复制的,即将他们的内存进行复制,这里因为同样结构体变量,属于同一种变量,所以赋值时是按照他们的内存分布来直接拷贝的。
展开全部
可以直接赋值,但是在有指针的情况下会出现指向同一位置的情况,在这种情况下,释放掉其中之一那么,另一个的指针使用会出现非法.
因为他们有默认的赋值重载.但是只可以简单的将对应的值一一赋给对方.
同一类型用得着声明两次么?这么多人都说了,可以呀.只是有些像上面说的那种情况你要注意一下.
因为他们有默认的赋值重载.但是只可以简单的将对应的值一一赋给对方.
同一类型用得着声明两次么?这么多人都说了,可以呀.只是有些像上面说的那种情况你要注意一下.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以,但是不太推荐.
--------------------
可以在定义时赋值,也可以通过变量来赋值,C++里面还可以通过构造函数,成员函数来赋值等...
struct yy {
int i;
float f;
}a = {1, 0.1};
struct yy b;
b.i = 2;
b.f = 1.1;
--------------------
可以在定义时赋值,也可以通过变量来赋值,C++里面还可以通过构造函数,成员函数来赋值等...
struct yy {
int i;
float f;
}a = {1, 0.1};
struct yy b;
b.i = 2;
b.f = 1.1;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
结构体变量可以直接赋值的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
结构体的赋值仅仅是简单的浅复制,如果涉及到指针类型就会出问题,比如:
struct BirthDay
{
int m_Year;
int m_Month;
int m_Day;
};
struct stu
{
int m_Age;
char m_Sex;
BirthDay *bd;
};
struct BirthDay
{
int m_Year;
int m_Month;
int m_Day;
};
struct stu
{
int m_Age;
char m_Sex;
BirthDay *bd;
};
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询