C++如何给结构体数据成员赋值

C++如何在结构体外部给成员赋值。
2025-04-03 19:27:32
推荐回答(5个)
回答1:

struct test {
char a[100];
int b;
}
test t1;

直接对象赋值
strcpy( t1.a, "rwqrqwerewr" )

t1.b=1

指针赋值:
test *p = &t1
strcpy( t1->a, "rewrer3rewqr" );
p->b=10

成员是什么类型 就用什么类型的赋值方式,比如是内置类型int之类的 直接调用=即可,如果成员是class的对象,那么调用该class的赋值函数来赋值即可

回答2:

结构体也就是类。
正常的(非静态的)成员属性(数据成员)是归属于某个对象的。
所以你应该是先用这个结构体定义一个对象,然后再对这个对象的属性进行赋值。如:

1
2
3
4
5
6

struct aa{
int a;
int b;
};
aa asObj;
asObj.a = 9;//对对象的数据成员赋值

回答3:

结构体也就是类。

正常的(非静态的)成员属性(数据成员)是归属于某个对象的。

所以你应该是先用这个结构体定义一个对象,然后再对这个对象的属性进行赋值。如:

struct aa{
  int a;
  int b;
};
aa asObj;
asObj.a = 9;//对对象的数据成员赋值

回答4:

struct aa{
int a;
int b;
}ax,*bx;

直接ax.a,bx->b访问就好了
如果是类的话,public的可以直接访问,其他的只能通过外部接口访问

回答5:

arrMember的本质是一个指针,赋值语句只将指针的值直接赋给相应的对象,即“浅拷贝”。
当你在释放该指针对应的内存的时候便会出现错误。

可以通过operator= 的重载来实现深拷贝操作。