自定义类型结构struct

结构就是将基本类型组合在一起形成一个新类型,结构struct主要目地,方便编程和管理代码。比如一个二维平面的点point,有两个值x,y;这时定义成结构struct,编程代码看起来会非常清楚。如果不定义成结构struct用两个变量,当然问题是可以解决,但这样项目变大时将会是个灾难。

结构struct定义:

结构struct在C++中其实合类class是一样的,只是默认访问方式不同。类默认访问是私有的,结构默认是公有的。看下下面这篇应该知道定义一个空的结构或类,其时C++帮我们定义了一些函数。

弄清c++在幕后为你所写、所调用的函数

 结构struct初始化

可以用像数组初始化方式一样,用大括号{}

初始化顺序,按结构成员的定义顺序来进行。

 结构struct变量定义

将P结构当成一个新类型,比较之前的简单类型进行定义;可以定义普通变量,指针变量、引用变量。

 结构struct成员的访问

成员访问方式有两个符号“.”,“->”;

从上面代码中应该可以看出,用“.”是普通变量,用“->”是指针变量。

 结构中的位域

位域:是指信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几 个不同的区域, 并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的对象用一个字节的二进制位域来表示。

这样用8位就定义了一个8位开关,一般这类用在时间定义上,因为时间是60,最多5位就够,还有用在硬体底层的一些定义上。