From the C11 draft standard, Section Chapter 1 Section 3:

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

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

那么,当我得出结论认为标准仅针对可字节寻址的存储器体系结构时,我是否正确地解释了这一点?还是我以错误的方式阅读它?

最佳答案

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

关于c - 根据C11,什么是 "byte"?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16232574/

10-12 22:21