结构体变量如何赋值可以直接赋值吗54
发布网友
发布时间:2023-10-09 09:58
我来回答
共5个回答
热心网友
时间:2024-12-01 18:03
结构体变量是可以直接赋值的;
定义结构体类型,然后用这个类型定义出来的变量就是结构体变量;
C语言在相同类型的变量间赋值时是直接内存复制的,即将他们的内存进行复制,这里因为同样结构体变量,属于同一种变量,所以赋值时是按照他们的内存分布来直接拷贝的。
热心网友
时间:2024-12-01 18:04
可以直接赋值,但是在有指针的情况下会出现指向同一位置的情况,在这种情况下,释放掉其中之一那么,另一个的指针使用会出现非法.
因为他们有默认的赋值重载.但是只可以简单的将对应的值一一赋给对方.
同一类型用得着声明两次么?这么多人都说了,可以呀.只是有些像上面说的那种情况你要注意一下.
热心网友
时间:2024-12-01 18:04
可以,但是不太推荐.
--------------------
可以在定义时赋值,也可以通过变量来赋值,C++里面还可以通过构造函数,成员函数来赋值等...
struct yy {
int i;
float f;
}a = {1, 0.1};
struct yy b;
b.i = 2;
b.f = 1.1;
热心网友
时间:2024-12-01 18:05
结构体变量可以直接赋值的。
热心网友
时间:2024-12-01 18:05
结构体的赋值仅仅是简单的浅复制,如果涉及到指针类型就会出问题,比如:
struct BirthDay
{
int m_Year;
int m_Month;
int m_Day;
};
struct stu
{
int m_Age;
char m_Sex;
BirthDay *bd;
};