C++如何给结构体数据成员赋值
发布网友
发布时间:2022-04-30 03:51
我来回答
共3个回答
热心网友
时间:2023-10-10 11:43
结构体也就是类。
正常的(非静态的)成员属性(数据成员)是归属于某个对象的。
所以你应该是先用这个结构体定义一个对象,然后再对这个对象的属性进行赋值。如:
1
2
3
4
5
6
struct
aa{
int
a;
int
b;
};
aa
asObj;
asObj.a
=
9;//对对象的数据成员赋值
热心网友
时间:2023-10-10 11:44
结构体也就是类。
正常的(非静态的)成员属性(数据成员)是归属于某个对象的。
所以你应该是先用这个结构体定义一个对象,然后再对这个对象的属性进行赋值。如:
struct aa{
int a;
int b;
};
aa asObj;
asObj.a = 9;//对对象的数据成员赋值
热心网友
时间:2023-10-10 11:44
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的赋值函数来赋值即可
C语言结构体数组成员怎么赋值?
intmain(void){ structstudentsbao={};printf("%d,%s\n",bao.id,bao.name);//输出是4224528,空(应该是null)//structstudentsbao={3,"123"};可以。第一种赋值方法 //strcpy(bao.name,"bao");//可以,//printf("%d,%s\n",bao.id,bao.name);//bao.name="bao";错误“stray'\351'in...
C语言中怎么给一个结构体用scanf进行赋值?
只有当输入为:def(字符间无空格) 时,才能把'd'赋于a,'e'赋予b,'f'赋予c。
C语言里如何给结构体成员(一个数组)赋汉字值?
struct Type //定义了一个 Type 的数据类型 { char a[15] ; //定义了一个数组成员,最多可输入14个字符 } Type s ; //用 Type 类型定义一个结构体变量 s ;s.a = " abcdef " ; //给结构体变量 s 赋值为 "abcdef" 。如果是想自己输入的话:gets( s.a ) ; 或者 scan...
c语言结构体数组赋值
(1)用字符常量逐个初始化数组。例如:char a[8]={'i','l','o','v','e','y','o','u'};把8个字符依次分别赋给c[0]~c[7]这8个元素。如果在定义字符数组时不进行初始化,则数组中各元素的值是不可预料的。如果花括号中提供的初值个数(即字符个数)大于数组长度,则出现语...
c语言结构体能否整体赋值
可以将一个结构体变量的值赋给另一个具有相同结构的结构体变量。如student1和student2都是student类型的变量,可以这样赋值:student1= student2;假设申明了两个成员列表完全一样的两个结构体,编译器会当作两个完全不同的类型,即使他们的成员列表是一样的,令两个结构体的变量间赋值,则是非法的。
C语言怎么给结构体里的结构体赋值?
c里面是不能这样赋值的, 这种方式只有在定义的时候初始化才可以 如果 int a[][2] = { 2,2}这是正确的,但是定义数组之后再 a = { 2,2}是不正确的, 你还是一个一个赋值吧. 另外说明一下吧, 定义的时候是给变量申请内存, 编译器会把你初始话的值赋值到内存, 但是如果 以后在赋值的时候,...
C语言中结构体中的数组,不能直接赋值吗
数组不能整体赋值,需要逐个元素赋值,但是如果这个数组是一个结构体的成员,可以通过结构体之间的直接赋值间接达到数组整体赋值的效果,即:t1.mark=t2.mark;//非法,数组不能直接整体赋值。t1=t2;//合法,在此之后,t2.mark数组将被整体复制到t1.mark数组。
请教C语言问题,关于通过函数给结构体成员赋值
那个自定义函数getdata就不规范,居然定义的时候不说明返回值类型,这水平也真敢出书。从main函数开始读,先定义一个结构体变量a,然后调用getdata函数,其参数是一个类型为指针类型的结构体变量,功能为读入形参结构体变量的s和t变量,把a的地址传入getdata函数,然后读入结构体a中的s,t,然后打印s,t ...
在C语言中.结构体变量之间可以相互赋值吗
结构体变量直接赋值,就是其本身内存地址空间,按照地址分布直接赋值。所以两个一样的结构变量可以直接赋值。但是如果结构成员中有指针,且指针指向的地址大小不一样,是不能直接赋值的。
C语言中 关于结构体对象赋值的问题
结构体直接直接赋值,是一种浅Copy,也即是说,原有变量的内容直接按照二进制形式就过来了,两个结构体变量的内容是一模一样的;万一结构体中存在指针变量,那么这个指针就有了两份Copy,应用起来就很危险了;所以一般在只有普通变量的时候才使用浅Copy,如果存在指针,那么这种就不再可行,需要定制才可以...