深入理解结构体中占位符的用法

 更新时间:2020年4月25日 17:46  点击:1389
复制代码 代码如下:

typedef union
{
    struct x{
    char a1 : 2;
    char b1 : 3;
    char c1 : 3;
    }x1;
    char c;
}my_un;
int main()
{
    my_un a;
    a.c = 100;
    printf("%d/n",a.x1.c1);
    printf("%d/n",sizeof(my_un));

    return 0;
}

输出结果:
3
1
即第一个是3, 而联合体的大小为 1  
分析:
sizeof为1表示1个字节,结构体中占位符冒号表示占的位数,实际上还是3+3+2=8位就是1个字节

100--->01100100
共用体中结构体的数据也为100.
a1占低2位(00);
b1占低3到5位(001);
c1占高3位(011);
因此a.x1.c1打印值为3.
sizeof(my_un);
共用体所占的字节大小取决于最大成员.它们都为1(结构体所占比特位为2+3+3=8位,char型为1字节).
所以为1.
[!--infotagslink--]

相关文章

  • 浅析C# 结构体struct

    这篇文章主要介绍了C# 结构体struct 的相关资料,帮助大家更好的理解和学习c#,感兴趣的朋友可以了解下...2020-11-03
  • 关于C#结构体 你需要知道的

    这篇文章主要介绍了关于C#结构体的相关知识,以及使用方法,文中代码非常详细,帮助大家更好的参考和学习,感兴趣的朋友可以了解下...2020-06-25
  • 基于C#调用c++Dll结构体数组指针的问题详解

    下面小编就为大家分享一篇基于C#调用c++Dll结构体数组指针的问题详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-06-25
  • 快速了解c# 结构体

    这篇文章主要介绍了c# 结构体的相关资料,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-11-03
  • C#中结构体和字节数组转换实现

    这篇文章主要介绍了C#中结构体和字节数组转换实现,本文直接给出了字节数组与结构体的转换代码,代码中包含详细注释,需要的朋友可以参考下...2020-06-25
  • WindowsForm实现TextBox占位符Placeholder提示功能

    这篇文章主要介绍了WindowsForm实现TextBox占位符Placeholder提示,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-13
  • go嵌套匿名结构体的初始化详解

    这篇文章主要介绍了go嵌套匿名结构体的初始化详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-12-16
  • 全面了解结构体、联合体和枚举类型

    下面小编就为大家带来一篇全面了解结构体、联合体和枚举类型。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-04-25
  • Go遍历struct,map,slice的实现

    本文主要介绍了Go语言遍历结构体、切片和字典的方法,对大家的学习具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-06-13
  • C#语言基础——结构体和枚举类型全面解析

    下面小编就为大家带来一篇C#语言基础——结构体和枚举类型全面解析。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • C语言热门考点结构体与内存对齐详解

    在掌握基本的结构体使用后,我们在面试和大型比赛中常常会遇到一个热门考点:结构体内存对齐,也就是计算结构体大小。接下来请跟着笔者一起来学习这块知识点吧...2021-10-23
  • 详解C# 结构体

    这篇文章主要介绍了C# 结构体的的相关资料,文中示例代码非常细致,帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-11-03
  • 解析C语言结构体及位段

    今天小编就为大家分享一篇关于解析C语言结构体及位段,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧...2020-04-25
  • c#入门之枚举和结构体使用详解(控制台接收字符串以相反的方向输出)

    这篇文章主要介绍了c#入门之枚举和结构体使用详解,最后提供了编写控制台应用程序接收字符串并做相应处理的小示例,需要的朋友可以参考下...2020-06-25
  • golang修改结构体中的切片值方法

    这篇文章主要介绍了golang修改结构体中的切片值方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-01-16
  • C#中使用反射获取结构体实例及思路

    一般用反射获取类对象的实例比较简单,只要类有一个无参构造函数或没有显示声明带参的构造函数即可使用...2020-06-25
  • C++基础入门教程(三):数组、字符串、结构体、共用体

    这篇文章主要介绍了C++基础入门教程(三):数组、字符串、结构体、共用体,需要的朋友可以参考下...2020-04-25
  • Go语言里的结构体文法实例分析

    这篇文章主要介绍了Go语言里的结构体文法,实例分析了结构体文法的概念及使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-05-03
  • C语言中结构体偏移及结构体成员变量访问方式的问题讨论

    这篇文章主要介绍了C语言中结构体偏移及结构体成员变量访问方式的问题讨论,帮助大家理解struct的成员变量偏移,需要的朋友可以参考下...2020-04-25
  • C语言结构体占用内存深入讲解

    这篇文章主要给大家介绍了关于C语言结构体占用内存的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-04