0
点赞
收藏
分享

微信扫一扫

Redission--分布式锁

止止_8fc8 04-06 23:00 阅读 2
1.位段的声明

位段的声明和结构是类似的,有两个不同:

比如:

struct A
{
        int _a:2;
        int _b:5;
        int _c:10;
        int _d:30;
};

A 就是一个位段类型。

那位段 A 的大小是多少?(以64位机器为例)

 

为什么不是(2+5+10+30)/  8 = 7  呢?下面我们了解一下位段的内存分配。

2.位段的内存分配

下面举一个例子(来了解对应内存的分配):

struct S
{
	char a : 3;
	char b : 4;
	char c : 5;
	char d : 4;
};


int main()
{
	struct S s = { 0 };
	s.a = 10;
	s.b = 12;
	s.c = 3;
	s.d = 4;
	printf("%d\n", sizeof(struct S));
	return 0;
}

 输出结果:

内存角度:

 

 

举报

相关推荐

0 条评论