5

来自 C11 标准草案,第 1 节第 3 节:

3.6
字节:数据存储的可寻址单元,大到足以容纳执行环境的基本字符集的任何成员

注 1可以唯一地表示对象的每个单独字节的地址

那么,当我得出标准仅针对字节可寻址内存架构的结论时,我是否正确解释了这一点?还是我以不正确的方式阅读它?

4

3 回答 3

7

从技术上讲,您是对的,这确实表明符合 C 的实现必须具有字节可寻址的内存。但是 C 标准并不要求一个字节只有八位。一个实现可以将“字节”定义为 64 位,就标准而言,这只是桃子。该标准也不要求“字节可寻址”是单个操作,因此仅支持 64 位读取的处理器上的 8 位字节仍然有效,只要编译器确保执行所需的屏蔽和移位得到正确的结果。

于 2013-04-26T09:10:55.630 回答
2

是的,我认为您以错误的方式阅读标准。我认为它说的是(释义):

可以包含基本字符集(...)成员的最小的可单独寻址的内存单元称为字节

也就是说,标准在其范围内通过术语字节定义了它的含义,从而拒绝了不符合标准的相同术语的定义。

于 2013-04-26T09:10:16.307 回答
0

是的,简单地说:
根据标准,一个字节是最小的可寻址内存位置。

于 2013-04-26T09:09:57.603 回答