int a :1什么意思

来源:百度知道 编辑:UC知道 时间:2024/06/28 20:16:19
struct test
{
int a :1;
int b :1;
};在这个结构体中这样写是什么意思,是表示a在缺省情况下为1吗,小弟虚心请教高手

如struct test
{
int a :1;
int b :1;
};
不是给a赋初值,在内存中存取数据的最小单位一般是字节,但有时存储一个数据不必用一个字节。
这是一种位域的结构体,这个结构里a占用的是一个字节中的1位,b也占用1位.所以这里的a和b的取值只能是0和1。因为它们都是用1位来表示的。
使用位域可以节省很多的内存空间。

这不是给a赋初值,在内存中存取数据的最小单位一般是字节,但有时存储一个数据不必用一个字节。
这是一种位域的结构体,这个结构里a占用的是一个字节中的1位,b也占用1位.所以这里的a和b的取值只能是0和1。因为它们都是用1位来表示的。
使用位域可以节省很多的内存空间。

欢迎在线讨论:
如果是C语言,这是关于位段的
struct test
{
int a :1;
int b :1;
};
a,b分别都占1位

这是C中的位域,int a:4;表示,test结构中成员a占四位。
关于位域的详细介绍:

是DELPHI编程吧?
int a: 1;
就是a为整型,并符值为1.