正在学习这些概念,现在可能理解有误。
1.bit:也称为位,即为一个二进制位(0或是1),8 bit=1 byte。这是计算机最小的存储单位。
2.字节:byte,计算机的存储单位,1字节(1B)=1内存单元。所以一个内存单位有8 bit,即8个二进制位。
以上这两点应该是没疑问的。
3.字:word,自然的存储单位(这个让我很纠结)。8位机,1字=8bit;16位机,1字=16bit;32位机,1字=32位;.......类推。
所以如今这能这样理解,1个英文字母=1个内存单位=1字节=8bit。
例如:
char str[10];
str这个字符串数组中,有10个内存单元,即能放9个"abcd"这类的字符。为什么只能放9个呢?
因为字符串在内存单元中都是以“\0”结尾的,“\0”要占一个内存单元。
所以,str[10]在内存中开辟了10个内存单元,加上“\0”,就只能放下9个字符了。
举例:
下面是内存单元格,
str[10]=| | | | | | | | | | | ;
那么,str[10]="abcde";——>| a | b | c | d | e | \0 | | | | | ;
如果是str[10]="abcdefghi";——>| a | b | c | d | e | f | g | h | i | \0 | ;
即是说:“\0”总会在字符串的后一位。
时间: 2024-12-28 11:52:40