您好、欢迎来到现金彩票网!
当前位置:在线斗牛棋牌游戏 > 位段 >

【C语言】unsigned int : 4;是什么意思?

发布时间:2019-07-10 06:52 来源:未知 编辑:admin

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  位段(bit-field)是以位为单位来定义结构体(或联合体)中的成员变量所占的空间。含有位段的结构体(联合体)称为位段结构。采用位段结构既能够节省空间,又方便于操作。

  其中type只能为int,unsigned int,signed int三种类型(int型能不能表示负数视编译器而定,比如VC中int就默认是signed int,能够表示负数)。位段名称var是可选参数,即可以省略。digits表示该位段所占的二进制位数。追问可是为什么不写成unsigned int b:4;写成unsigned int :4;也不会报错?追答你看上面写了:

  表示定义一个变量name,占用无符号整形的 4个bit位,这个位域的用法

  意思是让int值占4位,准确的写法应该是:unsignedintb:4;意思是让b占四位,unsignedintb:8;就是让b占8位,是为了内存对齐而写的,一些操作系统要求必须8位对齐,那一个int如果不满8位,就要强制让他占8位,浪费一些空间而已。可是为什么不写成unsigned int b:4;写成unsigned int :4;也不会报错?

http://missartypants.com/weiduan/321.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有