全站数据
8 4 2 0 5 8 1

为什么int会报错

酥酥英语小课堂 | 简单学习,快乐成才!         
问题更新日期:2024-10-24 14:45:09

问题描述

为什么int会报错,麻烦给回复
精选答案
最佳答案

出问题的地方不在于通过结构体的指针访问位域,而是试图取位域的引用,这是做不到的。位域用 unsigned int 和 unsigned char 的差别在于用 unsigned int 可以声明位宽大于 unsigned char 的位域。

例如在 unsigned char 位宽为8,unsigned int 位宽为32的时候,试图声明 unsigned char x : 12 会报错,而 unsigned int x : 12 就没问题(当然,这个大小超过 unsigned int 的位宽时也会报错)。