码迷,mamicode.com
首页 > 编程语言 > 详细

struct、union、enum

时间:2015-07-11 12:11:59      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:struct   enum   union   

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来进行操作的




版权声明:本文为博主原创文章,未经博主允许不得转载。

struct、union、enum

标签:struct   enum   union   

原文地址:http://blog.csdn.net/tfygg/article/details/46839545

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!