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

C++如何在结构体外部给成员赋值。

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的赋值函数来赋值即可
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-03-18
结构体也就是类。
正常的(非静态的)成员属性(数据成员)是归属于某个对象的。
所以你应该是先用这个结构体定义一个对象,然后再对这个对象的属性进行赋值。如:

1
2
3
4
5
6

struct aa{
int a;
int b;
};
aa asObj;
asObj.a = 9;//对对象的数据成员赋值
第2个回答  推荐于2017-12-15

结构体也就是类。

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

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

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

本回答被提问者采纳
第3个回答  2015-04-29
struct aa{
int a;
int b;
}ax,*bx;

直接ax.a,bx->b访问就好了
如果是类的话,public的可以直接访问,其他的只能通过外部接口访问
第4个回答  2015-12-14
arrMember的本质是一个指针,赋值语句只将指针的值直接赋给相应的对象,即“浅拷贝”。
当你在释放该指针对应的内存的时候便会出现错误。

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

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网