关于内存单元字节字符等

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于内存单元字节字符等相关的知识,希望对你有一定的参考价值。

  正在学习这些概念,现在可能理解有误。

  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”总会在字符串的后一位。

 

以上是关于关于内存单元字节字符等的主要内容,如果未能解决你的问题,请参考以下文章

内存单元,CPU对存储器的读写

分享一波阿里字节腾讯美团等精选大厂面试题,人生转折!

机器字长,存储字长,字节

c关于数组所占内存大小问题

内存单元和 C++ 指针

X86汇编3.内存访问