struct
1、结构体和数组的区别:可以再结构体里声明数组;结构体变量可以相互赋值,而数组不行。
2、struct与class的区别:class的成员访问权限默认是private,而struct成员的是public。
3、结构体的定义:
(1)可递归。结构体内部可以使用指针指向自己。例如,链表。
(2)可嵌套。结构体内部可以包含其他的结构体。
4、结构体中的位域。
在存储信息时,不需要占用一个完整的字节,而只需要占几个或一个二进制位。
union
结构体和共用体都是由多个不同类型的数据类型成员组成,但是在任一时刻,共用体中只存放了一个被选中的成员。而结构体
中所有成员都纯在。对于共用体的不同成员赋值,将会对其他成员重写,原来成员的值就不存在了。
(1)结构体占用内存,可能超过各个成员内存量的和,而共用体占用的内存为各个成员中占用最大者内存。
(2)union和struct在内存中的存放顺序是从地地址开始存放的。
大端存储:数据的高字节存放在低地址中。小端存储:数据的低字节存放在低地址中。
enum
(1)定义
enum 枚举类型名
{
枚举表
}
例如:
enum ColorEnum1
{
红色, //注意,系统会默认给它赋值为0
蓝色, //系统赋值为1
黑色, //系统赋值为2
粉红色 //系统赋值为3
}
enum ColorEnum2
{
红色=1, //用户自己赋值 所以枚举是一组 符号名称/值 配对
蓝色, // 系统赋值为2
黑色=1, //用户自己赋值1
粉红色 //系统赋值为2
}
所以可以看出,系统会自己给没有赋值的常量赋值,但赋值的方式是按照上一个的值+1来进行操作的
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/tfygg/article/details/46839545