一个8位变量确实是只占一个字节。字节一般也是处理器所能访问的最小单位(也就是对字节的修改,不涉及 读-修改-写 操作)。
但是这里涉及到一个变量对齐的问题。32位处理器,一般都是32位对齐的。
如果你定义了一个8位的字节变量,但是后面又定义了一个32位的变量,
这时候,因为32位变量要对齐4字节边界,所以前面那个字节变量省下的3个字节是不能用的。
除非你字节变量后面又定义了一个字节变量,才能用上这个省出来的空间。
也就是要合理安排变量的顺序。这个在我们学C语言的时候,应该都是学过了的。
另外,如果你定义的是字节数组(或者字符串),那么就可以完美的使用这个空间了。
|