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

来源:百度知道 编辑:UC知道 时间:2024/06/17 16:18:04
struct data
{
int year,month,day;
}st2[5]={{1988,10,9},{1988,7,20},{1988,9,13},{1988,7,8},{1989,8,2}};/**/
struct student
{
char no[12];
char name[9];
char sex[3];
struct data birthday;
int english;
int math;
}st1[5]={{"10803070120","任静","男",(就是这个地方,怎么写?),69,91},{},{},{},{}};

结构变量的初始化
和其他类型变量一样,对结构变量可以在定义时进行初始化赋值。
【例】对结构变量初始化。
main()
{
struct stu /*定义结构*/
{
int num;
char *name;
char sex;
float score;
}boy2,boy1={102,"Zhang ping",'M',78.5};
boy2=boy1;
printf("Number=%d\nName=%s\n",boy2.num,boy2.name);
printf("Sex=%c\nScore=%f\n",boy2.sex,boy2.score);
}

本例中,boy2,boy1均被定义为外部结构变量,并对boy1作了初始化赋值。在main函数中,把boy1的值整体赋予boy2,然后用两个printf语句输出boy2各成员的值。

结构数组的初始化
数组的元素也可以是结构类型的。因此可以构成结构型数组。结构数组的每一个元素都是具有相同结构类型的下标结构变量。在实际应用中,经常用结构数组来表示具有相同数据结构的一个群体。如一个班的学生档案,一个车间职工的工资表等。
方法和结构变量相似,只需说明它为数组类型即可。
例如:
struct stu
{
int num;
char *name;
char sex;
float score;
}boy[5];
定义了一个结构数组boy,共有5个元素,boy[0]~boy[4]。每个数组元素都具有struct stu的结构形式。对结构数组可以作初始化赋值。
例如:
struct stu
{
int nu