读书人

这是什么写法啊该怎么处理

发布时间: 2012-02-28 13:06:36 作者: rapoo

这是什么写法啊
struct A
{
char t:4; //4位
char k:4; //4位
unsigned short i:8; //8位 这里要偏移2字节保证4字节对齐
unsigned long m; //4个字节
};

[解决办法]
定义一个结构体,然后就是每个元素占了多少位
[解决办法]
char t:4
是位域
表示分给他的位数

[解决办法]
当然有了。
现在的程序越来越人性话了。
[解决办法]
不是在定义好了就自动分配空间了嘛,怎么还要规定占多少啊
[解决办法]
不明白!
各种类型的位数难道不是固定的?
[解决办法]
char t:4; //4位
char k:4; //4位
这里是把一个char型8个bit分成2份,一份让t占用,一份让k占用。
目的是为了节省空间,在嵌入式程序里很多这种结构体。

[解决办法]
这种写法主要是节省存储空间,还用来做默写标志为操作时使用,当然一般来说速度比较快些。

[解决办法]
规定自动分配多少位空间给他
例如char ch:8;就表示分配一个byte(8bit)的空间给ch 他可以表示2^8个字符
谭浩强《C程序设计第二版》的306页有详细介绍 称为位段

读书人网 >C++

热点推荐