C语⾔-结构体(struct)的位字段(:)详解结构体(struct)的位字段(:) 详解
结构体(struct)可以使⽤位字段(:), 节省空间, 如以下代码,
结构体a中的, 第⼀个变量x占⽤1个字符, y占⽤2个字符, z占⽤33个字符(越界);
但是sizeof()会⾃动补齐, 如x+y⼀共占⽤4个字节, z占⽤8个字节, 所以结构体占⽤12个字节;
当使⽤加法运算时, 会初始化为0;
代码:
/*
* test.cpp
*
*  Created on: 2014.05.23
*      Author: Spike
*/
/*eclipse cdt, gcc 4.8.1*/
#include <iostream>
#include <stdio.h>
using namespace std;
struct a {
c语言struct头文件int x:1;
int y:2;
int z:33;
};
int main()
{
a d;
cout << &d << std::endl;
d.z = d.x + d.y;
printf("%d %d %d %d\n", d.x, d.y, d.z, sizeof(d));
return 0;
}
输出:
0x22fed4
0 0 0 12

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。