• 位域


    注意空域。unsigned默认是4个字节。

     1 #include <iostream>
     2 
     3 using namespace std;
     4 struct B1{
     5     unsigned a:4;
     6     unsigned b:4;
     7 };
     8 
     9 struct B2{
    10     unsigned a:4;
    11     unsigned :0;
    12     unsigned b:4;
    13 };
    14 
    15 struct B3{
    16     unsigned char a:4;
    17     unsigned char b:4;
    18 };
    19 
    20 struct B4{
    21     unsigned char a:4;
    22     unsigned :0;
    23     unsigned char b:4;
    24 };
    25 
    26 struct B5{
    27     unsigned char a:4;
    28     unsigned char b:4;
    29     unsigned :0;
    30 };
    31 
    32 struct B6{
    33     unsigned char a:4;
    34     unsigned char b:5;
    35 };
    36 int main(int argc, char** argv) {
    37     cout << "sizeof(B1): " << sizeof(B1) << endl;
    38     cout << "sizeof(B2): " << sizeof(B2) << endl;
    39     cout << "sizeof(B3): " << sizeof(B3) << endl;
    40     cout << "sizeof(B4): " << sizeof(B4) << endl;
    41     cout << "sizeof(B5): " << sizeof(B5) << endl;
    42     cout << "sizeof(B6): " << sizeof(B6) << endl;
    43     return 0;
    44 }

    输出:

    1 root@xxj-VirtualBox:~/interview# ./bitfield 
    2 sizeof(B1): 4
    3 sizeof(B2): 8
    4 sizeof(B3): 1
    5 sizeof(B4): 5
    6 sizeof(B5): 4
    7 sizeof(B6): 2
  • 相关阅读:
    0814防盗链访问控制代理
    0811Nginx访问日志设置
    0810Nginx安装
    0809LNMP架构介绍
    PHP安装
    mariaDB安装Apache安装(httpd)
    LAMP构架介绍
    shell基础知识(2)
    shell基础知识(1)
    yum更换国内源、yum下载rpm包、源码包安装
  • 原文地址:https://www.cnblogs.com/linyx/p/4003360.html
Copyright © 2020-2023  润新知