(1)“结构体类型名”和“数据项”的命名规则,与 变量名相同。 (2)相同数据类型的数据项,既可逐个、逐行分别 定义,也可合并成一行定义。 例如,[案例10.1]中的结构体类型date。 (3)结构体类型中的数据项,允许是已定义的另一 个结构体类型。 例如,[案例10.1]中、结构体类型std info的数据 项“birthday'”。 2024/10/28 6
2024/10/28 6 (1)“结构体类型名”和“数据项”的命名规则,与 变量名相同。 (2)相同数据类型的数据项,既可逐个、逐行分别 定义,也可合并成一行定义。 例如,[案例10.1]中的结构体类型date。 (3)结构体类型中的数据项,允许是已定义的另一 个结构体类型。 例如, [案例10.1]中、结构体类型std_info的数据 项“birthday”
2、结构体变量的定义 (1)间接定义一先定义类型、再定义变量 例如,利用[案例10.1]中、结构体类型std info, 定义结构体变量student: 结构体类型名不可 struct std info student 缺!下列写法是错 误的: struct student 则结构体变量student拥有结构体类型std info的全 部数据项。 2024/10/28 7
2024/10/28 7 2、结构体变量的定义 (1)间接定义──先定义类型、再定义变量 例如,利用[案例10.1]中、结构体类型std_info, 定义结构体变量student: struct std_info student ; 则结构体变量student拥有结构体类型std_info的全 部数据项。 结构体类型名不可 缺!下列写法是错 误的: struct student ;
(2)直接定义一定义类型的同时,定义变量 struct[结构类型名] {.}结构变量表; 说明:结构类型中的数据项名(又称成员名), 可以与程序中的变量同名。 返回 2024/10/28 8
2024/10/28 8 (2)直接定义──定义类型的同时,定义变量 struct [结构类型名] { .} 结构变量表; 说明:结构类型中的数据项名(又称成员名), 可以与程序中的变量同名。 [返回]
10.2*结构体变量的引用与初始化 案例10.2]利用[案例10.1]中的结构体类型 std info,定义结构体变量student,用于存储和显示 1个学生的信息。 2024/10/28 9
2024/10/28 9 10.2* 结构体变量的引用与初始化 [案例10.2] 利用[案例10.1]中的结构体类型 std_info,定义结构体变量student,用于存储和显示 1个学生的信息
案例10.1]中定义的结构体类型 #include "struct.h" struct std info student={"000102","张三","男",{1980,9,20}}; #include "stdio.h" #include "conio.h" void main() 成员运算符 printf("No:%sn",student.no); printf("Name:%s\n",student.name); printf("Sex:%sIn",student.sex); printf("Birthday:%d-%d-%d\n",student.birthday.year, student.birthday.month, student.birthday.day ); getch(); 2024/10/28 10
2024/10/28 10 #include "struct.h " struct std_info student ={"000102","张三","男",{1980,9,20} }; #include "stdio.h" #include "conio.h" 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 ) ; getch(); } [案例10.1]中定义的结构体类型 成员运算符