From the C11 draft standard, Section Chapter 1 Section 3:
3.6
byte:数据存储的可寻址单元,大到足以容纳基本字符的任何成员
一套执行环境
注意 1 可以唯一地表达对象的每个单独字节的地址。
那么,当我得出标准仅针对字节可寻址内存架构的结论时,我是否正确地解释了这一点?还是我以错误的方式阅读它?
最佳答案
从技术上讲,您是对的,这确实表明符合标准的 C 实现必须具有字节可寻址内存。但是 C 标准不要求一个字节只有八位。一个实现可以将“byte”定义为 64 位,就标准而言,这已经很完美了。该标准也不要求“字节可寻址”是一个单一的操作,因此在仅支持 64 位读取的处理器上的 8 位字节仍然有效,只要编译器确保执行所需的屏蔽和移位以获得正确的结果。
关于c - 根据 C11,什么是 "byte"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16232574/