STM32/STM8技术论坛
直播中

sunny

10年用户 58经验值
擅长:测量仪表 控制/MCU
私信 关注
[资料]

结构体里面数组怎么赋值

typedef struct
{ int a[5];
  char b[5];
}text;
text text1;
text1.a[5]={0,1,2,3,4};
text1.b[5]="abcde";
如上面代码,text1.a[5]处报错 error C141: syntax error near '{',如果说数组不能整体赋值,那该怎么赋值,一个个的来吗?为什么下面text1.b[5]可以整体赋值不会报错?

回帖(4)

陈山

2014-12-5 17:22:03
text1.a[5]={0,1,2,3,4} , 你a是int型,a[5]代表的是一个元素,text1.a[]={0,1,2,3,4}这样
举报

sunny

2014-12-5 17:26:30
引用: aixiaodiao 发表于 2014-12-5 17:22
text1.a[5]={0,1,2,3,4} , 你a是int型,a[5]代表的是一个元素,text1.a[]={0,1,2,3,4}这样 ...

text1.a[]={0,1,2,3,4}也不行的,一样报错!
举报

sunny

2014-12-5 17:27:03
引用: aixiaodiao 发表于 2014-12-5 17:22
text1.a[5]={0,1,2,3,4} , 你a是int型,a[5]代表的是一个元素,text1.a[]={0,1,2,3,4}这样 ...

text1.a[]={0,1,2,3,4}也不行的,一样报错!
举报

郑居烽

2014-12-6 10:59:47
如果数组不大,那就就一个一个复制,如:text1.a[0] = 1;
或者可以用内存复制的方式;
int a[5] = {1,2,2,2,2};
memcpy(&text1.a,&a,sizeof(a));就可以了。。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分