◆形式二 struct结构体名 类型标识符成员名1; 类型标识符成员名2; }结构体变量={初始数据} struct stu f int num; char name 201; int age; char addr 301; }a={112, Wang lin”,19,“200 Beijing road”}; Advanced Programming
Advanced Programming ◆形式二 struct 结构体名 { 类型标识符 成员名1; 类型标识符 成员名2; ……………. } 结构体变量={初始数据}; struct stu { int num; char name[20]; int age; char addr[30]; } a={112,“Wang Lin”, 19, “200 Beijing Road”};
◆形式三 struct 类型标识符成员名 类型标识符成员名; 00。0000。。0。。 }结构体变量={初始数据}; struct i int num; char name 201 char sex: int age; char addr 301; }stul={12, Wang in”,M,19,“200 Beijing r0ad”}; Advanced Programming
Advanced Programming ◆形式三 struct { 类型标识符 成员名; 类型标识符 成员名; ……………. }结构体变量={初始数据}; struct { int num; char name[20]; char sex; int age; char addr[30]; }stu1={112,“Wang Lin”,‘M’,19, “200 Beijing Road”};
例91对结构体变量初始化 #include <stdio.h> void maino i struct student i long int num; char name 20 char sex char addr[; }a={89031, Li Lin”,M,“123 Beijing r0ad”}; printf(No: %Id nname: sensex: %cnaddress: s\ n",a num, a name, a sex, aaddr); Advanced Programming
Advanced Programming #include <stdio.h> void main() { struct student { long int num; char name[20]; char sex; char addr[20]; }a={89031,“Li Lin”,‘M’, “123 Beijing Road”}; printf("No. :%ld\nname:%s\nsex:%c\naddress:%s\ n", a.num,a.name,a.sex,a.addr); } 例9.1 对结构体变量初始化
§92结构体数组 具有相同结构的结构体也可以组成数组 ★定义结构体数组:3种形式 形式一间接定义形式二直接定义形式三直接定义 struct student struct student struct f int num; f int num; f int num; char name 201 char name[201; char name[201; char sex char sex char sex; int age; int age; int age; stu 2; stu 2 struct student stu 2; age Advanced Programming
Advanced Programming § 9.2 结构体数组 具有相同结构的结构体也可以组成数组 定义结构体数组:3种形式 形式一:间接定义 struct student { int num; char name[20]; char sex; int age; }; struct student stu[2]; num name sex age num name sex age stu[0] stu[1] 25B 形式二:直接定义 struct student { int num; char name[20]; char sex; int age; }stu[2]; 形式三:直接定义 struct { int num; char name[20]; char sex; int age; }stu[2];
◆结构体数组初始化 struct结构名结构数组名数组长度]={初始数据}; 近声明结构体时,对结构体数组初始化 st struct student f int num 按顺序定义 char name 201; 内层括号可以省略 char sex; 省 nt age 3 stu[31=((100, Wang Lin", M,2 ,,'M', 20) {101, Li Gang”,M',19 1 Liu yan”,F,19};M’,19}, {110,4 Liu yan”;F,19} 全部初始化时维数可省 全部初始化时维数可省 Advanced Programming
Advanced Programming ◆结构体数组初始化 struct 结构名 结构数组名[数组长度]={初始数据}; 定义数组时初始化: struct student { int num; char name[20]; char sex; int age; }; struct student stu[3]={{100,“Wang Lin”,‘M’,20}, {101,“Li Gang”,‘M’,19}, {110,“Liu Yan”,‘F’,19}}; 全部初始化时维数可省 按顺序定义时: 内层括号可以省略 声明结构体时,对结构体数组初始化: struct student { int num; char name[20]; char sex; int age; } stu[3]={{100,“Wang Lin”,‘M’,20}, {101,“Li Gang”,‘M’,19}, {110,“Liu Yan”,‘F’,19}}; 全部初始化时维数可省 按顺序定义时: 内层括号可以省略