结构体数组赋值
结构体定义如下:
typedef struct{
int key;
char name[20];
int age;
}SElemType;
那么对于
SElemType r[5]={
{1,"uu",19},
{3,"lili",24},
{5,"abc",20},
{6,"xy",12},
{8,"name",26}
};
有r[0].key=1;r[1].key=3;……
我的问题是,如果我是这样定义的:SElemType m[5]={1,3,5,6,8};
那么m[i].key是多少?(i从0到4)
1,3,5,6,8分别赋值给哪个变量了? C?结构体?数组
[解决办法]
这个赋值,就是对应的你的上面的最开始的赋值方式。
SElemType m[5]={{1},{3},{5},{6},{8}};
#include<stdio.h>
typedef struct{
int key;
char name[20];
int age;
}SElemType;
int main(void)
{
int i;
SElemType k[5];
for(i=0;i<5;i++)
printf("%d,%5s,%d\n",k[i].key,k[i].name,k[i].age);
SElemType m[5]={1,3,5,6,8};
for(i=0;i<5;i++)
printf("%d,%s,%d\n",m[i].key,m[i].name,m[i].age);
SElemType l[5]={{1},{3},{5},{6},{8}};
for(i=0;i<5;i++)
printf("%d,%s,%d\n",l[i].key,l[i].name,l[i].age);
return 0;
}