结构类型用于表示由固定多个、类型可以不同的元素所构成的复合数据类型。
1. 结构类型定义
struct <结构类型名> {<成员表>};
或 typedef struct <结构类型名> {<成员表>}<结构体类型别名>;
1)别名可以跟结构类型名不一样,但是一般都是一样的,设置别名是为了方便像其他变量类型一样定义变量,这是保留了C的语法。
2)在结构类型定义时,对成员变量进行初始化是没有意义的,因为类型不是程序运行时刻的实体,它们不占用内存空间。
2. 结构类型变量定义
struct <结构类型名> <变量名表>;//C的用法
或 <结构类型名> <变量名表>;// C++的用法
或 struct <结构类型名> {<成员表>}<变量名表>;
3. 操作
1)访问成员:<结构类型的变量名>.<成员名>
2)对结构类型的数据可以进行整体赋值,但是要保证两者属于相同的结构(成员名和类型都相同)。
4. 存储
结构类型的变量在内存中占用一块连续的存储空间。
5. 结构类型的默认参数传递方式是值传递,因此,当结构类型很大时传输速度回受限。
6. 定义完结构类型后,其使用和平时的类型没有太大的区别,该加加该减减,不过要记住其每个成员也是一个实体。