源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2022-01-10 00:12 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:深入理解结构体中占位符的用法
[u]复制代码[/u] 代码如下:
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; }
[b]输出结果: [/b]3 1 即第一个是3, 而联合体的大小为 1   [b]分析: [/b]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.
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部