c语言 位域长度
发布网友
发布时间:2022-04-24 01:50
我来回答
共1个回答
热心网友
时间:2023-10-19 22:21
这个主要还是要看编译器以及程序的运行环境。例如普通32位的环境中,位域可以定义为32bit,超过32bit就会报错。
我的理解是LZ书上看到的位域不允许跨2字节是由于运行环境是8bit的。因此在单片机编程中可以定义16bit的ul类型(该单片机的位宽应该是大于等于16bit的)。
我在自己的64位系统上编写了类似的代码,把编译器位宽设置为64位,发现位域就可以达到64bit,超过64bit就会报错。