91结构体 912结构体变量的定义与初始化 1.结构体类型变量的定义 struct student ●利用已定义的结构体类型名定mum8个字节 srct结构体名变量名表;mame30个字节 例如: seX 1个字节 age 2个字节 struct bookcard book1[ 100; addr 60个字节 struct student s30, tl, t2 score12个字节 按照结构体类型的组成,系统为定义的结构体 变量分配内存单元。结构体变量的各个成员在内存 中占用连续存储区域,结构体变量所占内存大小为 结构体中每个成员所占用内存的长度之和。 2021-2-24
2021-2-24 6 按照结构体类型的组成,系统为定义的结构体 变量分配内存单元。结构体变量的各个成员在内存 中占用连续存储区域,结构体变量所占内存 结构体中每个成员所占用内存的长度之和
91结构体 结构体类型与变量的说明 struct date f int year, month, day; ); num 8个字节 struct student name 30个字节 i char num 8; 1个字节 char name 30: year2个字节 char sex: struct date birthday birthday month2个字节 char addr 60l day|2个字节 int score]; addr 60个字节 score 12个字节 对象 2021-2-24
2021-2-24 7 Ø 应先定义一个 ,而后再定义 。 Ø 系统对 不分配空间,仅对 分配空间。 Ø 只能对 赋值、存取或运算,而不能对一个 赋值、存取或运算。 不 同结构体类型的成员名相同, struct date { int year,month,day;}; struct student { char num[8]; char name[30]; char sex; birthday; /* 成员为结构体类型 */ char addr[60]; int score[6]; };
91结构体 8 912结构体变量的定义与初始化 1.结构体类型变量的定义 ●在定义结构体类型的同时定义变量 struct结构体名 成员定义表; }变量名表; 例如 struct student i char num 8, name 20l, sex; int age; float score }st|30]; 2021-2-24
2021-2-24 8 例如:
91结构体 912结构体变量的定义与初始化 1.结构体类型变量的定义 ●直接定义结构体类型变量 struct 成员定义表; }变量名表; 例如 struct &char num 8 name 20, sex; Int age; float score, }st|30|,a,b,C; 2021-2-24
2021-2-24 9 例如:
91结构体 10 912结构体变量的定义与初始化 2.结构体变量的初始化 【例94】结构体变量的初始化。 struct date 如果初值个数少于结构体成员个数, int year,mon则将无初值对应的成员赋以0值。 struct student 如果初值个数多于结构体成员个数 i char num 81. 则编译出错。 struct date birthday float score }a={"9060l"," Li ming",M’,{1977,12,9},83}, b={"9608025"," Zhang liming","F,{1978,5,10},87} 2021-2-24
2021-2-24 10 如果初值个数少于结构体成员个数, 则将无初值对应的成员赋以0值。 如果初值个数多于结构体成员个数, 则编译出错