如何对结构体中的数组进行一次性全部赋值?谢谢,比如就是这个意思 b.a[]={,,,,};

如题所述

1、在定义的时候初始化。
2.把这个数组再放到一个内部结构体中,这样就可以一次性赋值。例如:
struct {
struct {
int a[20];
} aa;
int c;
} b,d;

b.aa=d.aa//将d中的a数组复制到b中的a数组。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-26
楼上的误导人啊,数组不可以这样赋值的
struct{
int data;
int a[4];
}c;//定义结构体C
c.a={1,2,3,4};追问

那这也不对啊,我试了,有错误,我是用的vc6.0 xp

追答

#include
#include
struct c //注意这里,以前写的也不对
{
int data;
int a[4];
};//定义结构体C

int main()
{
int i,b[4]={1,2,3,4};//可以这样初始化
int m[4];
// m[4]={1,2,3,4};/*这句错了,定义好的数组不能这样赋值了, 去掉可以运行*/
c test;
for(i=0;i<4;i++)
test.a[i]=i;
for(i=0;i<4;i++)
printf("%d",test.a[i]);
system("pause");
return 0;
}
//上面是我测试好的代码,哎,不好意思啦,结构体都没定义对,还有,数组赋值还要一个个来

追问

数组赋值不可以整体一次性定义吗?

追答

不行的,只有初始化的时候可以整体赋值
要是真的想整体赋值的话,你可以自己写个数组类
不过我感觉多余了哎
标准库什么的我不太懂,不好说
额,你可以去网上查查看的

追问

嗯,谢谢啊,上次我们老师问了这个问题,然后就不知道,就问了……那我查出来了,给你发过去,

追答

好啊,嘿嘿

追问

没有找到,可能不行吧。下次我问老师咋干的。

追答

好的啊,呵呵

本回答被提问者和网友采纳
相似回答