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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何对结构体中的数组进行一次性全部赋值?谢谢,比如就是这个意思 b.a[]=,,,,;相关的知识,希望对你有一定的参考价值。

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

b.aa=d.aa//将d中的a数组复制到b中的a数组。
参考技术A 楼上的误导人啊,数组不可以这样赋值的
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;

//上面是我测试好的代码,哎,不好意思啦,结构体都没定义对,还有,数组赋值还要一个个来

追问

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

追答

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

追问

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

追答

好啊,嘿嘿

追问

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

追答

好的啊,呵呵

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

C语言关于结构体变量为动态数组赋值问题

C语言关于结构体变量为动态数组赋值问题for(x=0;x<num;x++)

printf("学号:%d\n姓名:%s\n班级:%d\n",array[x].Num+M_1,array[x].Name,array[x].Banji);

不知道为什么每次输出的都是循环最后一次的结果,而不会把全部输入的数据进行输出,小白一个,求大神指教,谢谢

参考技术A boy1.name[20]="Zhang ping";此形式不对,name是数组,数组在初始化时可以写成name[20]="Zhang ping";但是定义之后在函数的执行部分中就不能这样写了,可以用字符串拷贝函数,即写成strcpy(boy1.name,"Zhang ping"); c[2]=1,2 错误,要逐个元素赋值。写成e.c[0]=1;e.c[1]=2; 或者在定义结构体变量e时初始化: struct a e=2,'f',1,2,1.23;

以上是关于如何对结构体中的数组进行一次性全部赋值?谢谢,比如就是这个意思 b.a[]=,,,,;的主要内容,如果未能解决你的问题,请参考以下文章

C语言,结构体中的数组怎么赋值,?

C语言,请问如何将结构体中的结构体拷贝到内存

结构体中定义结构体怎么赋值

matlab中如何看函数结构体中的数据

C语言,结构体中的数组怎么赋值,?

c语言中,结构体初始化和数组初始化的写法是否一样的?求解,谢谢