C 知识量:16 - 74 - 317
结构作为一种数据类型,如int或char一样,也可以用于创建数组。当使用结构创建数组时,就是结构数组。
结构数组的声明示例:
struct teacher maleTeacher[10];
以上代码声明了一个内含10个元素的数组maleTeacher,其每个元素都是一个teacher类型的结构。因此,maleTeacher[0]是第一个teacher类型的结构变量,maleTeacher[1]是第2个...以此类推。
注意:maleTeacher是数组名,而teacher才是结构名。
要访问结构数组的成员可以借助数组下标和点运算符,如下所示:
struct teacher { char name[20]; char sex[10]; int age; }; struct teacher maleTeacher[10]; /*此处对结构数组初始化...*/ char * n = maleTeacher[0].name; //访问maleTeacher第1个结构元素的name成员。 char m = maleTeacher[2].name[0]; //访问maleTeacher第3个结构元素的name成员的第一个字符。
maleTeacher是数组,name和sex是数组中的数组。但是maleTeacher是结构数组,而name和sex是基本数据类型定义的数组。
一个结构可以包含另一个结构,即可以进行结构的嵌套使用。例如:使用结构name定义姓名中的名和姓,在另一个结构teacher中包含结构name来完成教师的数据结构设计。
struct name { char firstName[20]; char lastName[20]; }; struct teacher { struct name teacherName; //嵌套结构 char sex[10]; int age; };
结构的嵌套可以使程序设计更方便,但是需要注意:被嵌套的结构需要先进行声明。如果要访问嵌套结构成员,需要使用两个点运算符,例如:
struct teacher maleTeacher[10]; /*此处对结构数组初始化...*/ char * fName = maleTeacher[0].teacherName.firstName;
Copyright © 2017-Now pnotes.cn. All Rights Reserved.
编程学习笔记 保留所有权利
MARK:3.0.0.20240214.P35
From 2017.2.6