制作:方斌 11.4结构体变量的初始化 struct student { ong int num;/*学号*/ char name[20];/*姓名*/ char sex /*性别*/ char addr[20] /*地址*/ fa=[89031, Li Lin"M,123 Beijing Road"3; 或者是: struct student a={8903张三”M,"123 Beijing Road"}; 注意:不能在结构体內赋初值。例、 struct student { long int num=89031 char name[20]="Li lin char sex="M char addr[30]=123 Bejing road }a;
制 作:方 斌 11.4 结构体变量的初始化 struct student { long int num; /* 学号 */ char name[20]; /* 姓名 */ char sex; /* 性别 */ char addr[20]; /* 地址 */ }a = {89031, "Li Lin", 'M', "123 Beijing Road"}; 或者是:struct student a={8903,“张三”,‘M’, "123 Beijing Road"}; 注意:不能在结构体内赋初值。例、 struct student { long int num = 89031; char name[20] = "Li Lin"; char sex = 'M'; char addr[30] = "123 Bejing Road"; }a;
制作:方斌 对于结构的成员是另一个结构体变量可以这样初始化: struct date/*日期结构*/ { int month;/*月*/ nt day;/*日*/ int year;/*年*/ }; struct student { nt num /*学号* char name[20];/*姓名*/ char sexi 米性别*/ int age; /*年龄*/ struct date birthday;/*成员是另一个结构体变量*/ char addr[30]; /*地址*/ }a={102张三 ”,M25,{19809,20},"123 Bejing road"}; 或者这样初始化: struct student a={102张三”M,25,{1980920},123 Bejing road"};
制 作:方 斌 对于结构的成员是另一个结构体变量可以这样初始化: struct date /*日期结构 */ { int month; /* 月 */ int day; /* 日 */ int year; /* 年 */ }; struct student { int num; /* 学号 */ char name[20]; /* 姓名 */ char sex; /* 性别 */ int age; /* 年龄 */ struct date birthday; /*成员是另一个结构体变量 */ char addr[30]; /* 地址 */ } a={102,“张三”,‘M’,25,{1980,9,20}, “123 Bejing Road”}; 或者这样初始化: struct student a={102,“张三”,‘M’,25,{1980,9,20}, “123 Bejing Road”};
制作:方斌 [案例11.2]利用[案例111]中定义的结构类型 struct std info,定义一个结构 变量 student,用于存储和显示一个学生的基本情况。 /*案例代码文件名:AL10_2.C*/ include" struct.h"/*定义并初始化一个外部结构变量 student*/ struct std info student={"000102","张三","男",{1980,9,20}}; void maino printf("No: %os\n",student. no) printf("Name: %s\n", student name) printf(" Sex: %s\n",student sex) printf(" Birthday: %od-%od-%d \n",student birthday year, student birthday month student birthday day) 程序运行结果: No:000102 Name:张三 Sex:男 Birthday: 1980-9-20
制 作:方 斌 [案例11.2] 利用[案例11.1]中定义的结构类型struct std_info,定义一个结构 变量student,用于存储和显示一个学生的基本情况。 /*案例代码文件名:AL10_2.C*/ #include "struct.h" /*定义并初始化一个外部结构变量student */ struct std_info student={"000102","张三","男",{1980,9,20}}; void main() { printf("No: %s\n",student.no); printf("Name: %s\n",student.name); printf("Sex: %s\n",student.sex); printf("Birthday: %d-%d-%d\n",student.birthday.year, student.birthday.month, student.birthday.day); } 程序运行结果: No: 000102 Name: 张三 Sex: 男 Birthday:1980-9-20
制作:方斌 11.5结构体数组 一个结构体变量中可以存放一组相关的数据(如一个学生 的学号,姓名,成绩等数据)。如果有10个这样的学生数据需 要参加运算,显然应该用数组,这就是结构体数组。结构体 数组与我们以前讲过的数值型数组的不同之处在于每个数组 元素都是一个结构体类型的数据,它们都分别包括有该结构 体类型的各个成员。 、结构体数组的定义 和定义结构体变量类似,只需说明其为数组即可,如
制 作:方 斌 11.5 结构体数组 一个结构体变量中可以存放一组相关的数据(如一个学生 的学号,姓名,成绩等数据)。如果有10个这样的学生数据需 要参加运算,显然应该用数组,这就是结构体数组。结构体 数组与我们以前讲过的数值型数组的不同之处在于每个数组 元素都是一个结构体类型的数据,它们都分别包括有该结构 体类型的各个成员。 一、结构体数组的定义 和定义结构体变量类似,只需说明其为数组即可,如:
制作:方斌 struct student int num: char name[20]; char sex int age; float score i char addr[30] }; struct student stu3];/*有3个元素的结构体数组* num name sex age score addr stu[0] 10101 i Lin M887.5 103 Bejing Road stu[1] 10102 hang Fur M19 130 Shanghai Road stu[2][10104 Wang Mir F 78.5 1010 Zhongshan Road
制 作:方 斌 struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }; struct student stu[3]; /*有3个元素的结构体数组 */