C语言中结构体嵌套

假如有两个结构体,struct student{
char name[20];
int age;
};
struct class{
struct student a[j];
}
第一个是定义的学生信息,第二个是班级,假如有两个班怎么去合并?后面班级结构体中嵌套a[j]怎么赋值,是不是就是定义一个结构体变量假如A,然后就A.student a[j];就可以了?

第1个回答  2009-09-16
struct student
{
char name[20];
int age;
};
typedef struct student STU; //学生

struct class
{
STU students[50];
};
typedef struct class Class; //班

void main(void)
{
STU students[50]={...初始化}; //学生数组
STU .....
Class classes[8]; //班级数组
classes[0].students = students; //初始化班级学生
classes[1].students = ....
......
}

粗略的描述了一下,用指针来做最好!本回答被提问者采纳
第2个回答  2009-09-20
struct class two_classes[2];

two_classes[i].a[j] = ...;

另外,class中的数组a的长度需要一个常量
第3个回答  2009-09-16
可以;
我感觉j应该是常量
struct class{
struct student a[j];
}
相似回答