md5*_*md5 4 c object bit-fields
根据C11,一个目标是:
#C11§3:术语,定义和符号
对象:执行环境中的数据存储区域,其内容可以表示值.
位域可以表示一个值,因此它应该是一个对象.但是,我被告知事实并非如此.
什么是正确的答案?
6.2.6.1p2说" 除了位字段,对象由一个或多个字节的连续序列组成[...] ",因此很明显位字段是对象.类似地,6.2.6.1p4指的是" 非位域对象 ".
3.5p1将该位定义为数据存储单元; 位字段是位区域,因此必须是数据存储区域.该标准区分对象和存储器位置(存储器位置是" 标量类型的对象,或者所有具有非零宽度的相邻位域的最大序列 "; 3.14p1)因此对象不需要具有不同的存储器位置.