首页 理论教育 结构体变量的定义和存储方法

结构体变量的定义和存储方法

时间:2023-10-20 理论教育 版权反馈
【摘要】:结构体类型定义后,其中并无具体数据,系统不为其分配实际的内存单元。为了在程序中使用结构体类型的数据,应当定义结构体类型的变量,并在其中存放具体的数据。

结构体变量的定义和存储方法

结构体类型定义后,其中并无具体数据,系统不为其分配实际的内存单元。为了在程序中使用结构体类型的数据,应当定义结构体类型的变量,并在其中存放具体的数据。

定义结构体变量有如下三种方法:

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

struct 结构体名结构体变量名1,结构体变量名2,…结构体变量名n;

例如:

这种方式是类型声明和变量定义分离,在类型声明后可以随时定义变量,比较灵活。

定义的变量s1 是struct student 结构体类型的变量。系统为s1 分配的空间,是其所有成员变量的内存总和,在VC++6.0中,它的空间大小为32 个字节,如图10.1 所示。

2.在声明结构体类型的同时定义变量(www.xing528.com)

图10.1 s1 的内存空间

声明类型和定义变量放在一起进行,能直接看到结构体。在编写小程序时用此方法比较方便;但对于大程序,要求声明结构体类型和定义变量分别放在不同的地方,以便程序结构清晰、便于维护,因而不宜使用此种方法。

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

指定了一个无名的结构体类型,显然在程序中其他地方不能再以此结构体类型定义其他变量。这种方式用得不多。

注意:结构体类型和结构体变量的区别,如以上定义中struct student 是结构体类型名,它与int、double 等一样是类型名,系统不为类型分配内存空间。在程序中操作和运算的是结构体变量,系统对变量分配空间。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈