首页 理论教育结构体变量定义技巧-C语言程序设计

结构体变量定义技巧-C语言程序设计

【摘要】:用户自己定义的结构体类型,与系统定义的标准类型一样,是可以用来定义结构体类型的变量。这种方法定义的结构体类型在程序后面不可使用,因为缺少完整的结构体类型名。

用户自己定义的结构体类型,与系统定义的标准类型一样,是可以用来定义结构体类型的变量。结构体变量的定义有3 种方法。

1.先定义结构体类型,再定义结构体变量

这种形式的使用方法是:

例如:

说明了两个变量boy1 和boy2 为struct stu 结构类型。

2.在定义结构体类型的同时定义结构体变量

这种形式的使用方法是:

例如:

3.定义结构体类型时不指定结构体类型名,直接定义结构体变量

这种形式的使用方法是:

(www.chuimin.cn)

例如:

第三种方法与第二种方法的区别仅在于第三种方法中省去了结构体名,而直接定义结构体变量。这种方法定义的结构体类型在程序后面不可使用,因为缺少完整的结构体类型名。

说明:

(1)一个结构体变量在内存中占据一块连续的存储空间,存储空间的大小理论上是结构体各成员的存储空间的大小的总和。三种方法中定义的boy1、boy2 变量都具有如图7.1 所示的结构。

图7.1 结构体变量存储单元

(2)成员如果是一个结构体类型,即构成了嵌套的结构体类型。例如例7.1 中的struct std_info 结构体类型,首先定义一个结构体类型struct date,由month(月)、day(日)、year(年)3 个成员组成,然后定义结构体类型struct std_info,其成员birthday 被说明为struct date结构体类型。其变量的定义如下:

变量boy1、boy2 变量的存储结构示意图如图7.2 所示。

图7.2 嵌套的结构体变量存储结构

(3)结构体名、成员名可与程序中其他变量同名,互不干扰。