在C和C++都会对结构体,枚举,以及共同体的进行介绍,然而,随着时间的流逝,现在在学过C之后,很多书都只是跳过结构,枚举这部分内容了。然而,就是这部分内容,我觉得在今后项目开发中应该会大有用处,比如遇到嵌入式系统对空间要求比较高的时候,我们就可以通过位域,以及共同体来解决。
结构体,我把它看成“都是有的”,这怎么说呢?就是对于一个元素所定义的一个结构体,那结构体中的元素项都是该元素所具有的相应的性质。不然,就没必要浪费空间。那,对于一系列类别,而元素只能属于其中一种的时候,这时,就需要考虑用共同体对这些类别进行整合了。虽然共同体里具有一系列类别,但真正占用空间的只有我们所初始化的那个,因此,通常对于排斥类类别,我们用共同体来表示。
那么,枚举是用来干嘛的呢?枚举,本质是被区别化的整数,而且从头递增排列。也就是说,枚举里的每一个元素都是不同的,然而神奇的是,枚举所呈现出来的并不是整数,而是符号,或者说人们看得懂的语言。然而,其实质是关联着整数,而且,我们可以有我们看的懂的语言对其进行初始化。因此,枚举实际上极大方便了程序的可读性。当我们想到switch时,就会发现枚举是那么的神奇。