当前位置:首页 > 内存 > 正文

该数据段占用的内存有多少个字节

  • 内存
  • 2024-05-03 23:39:12
  • 2328

一、已知int类型变量占用四个字节,其有定义:intx[5]={0,2,4};,则数组x在内存中所占字节数

内存占用数量为20x字节。

该命令在定义时就已经分配了内存。由于数组x的长度定义为5,所以内存中x的字节数为4*5,即20个字。

除此之外,数组初始化intx[5]={0,2,4}就是对数组的前三个元素进行赋值,即x[0],x[1],X。[2]依次为0、2、4,最后两个赋值为0,表示不给它们空间。

扩展索引

C语言中数组初始化分为以下几种情况:

intarray[10]={0,1,2,3,4,5,6,7,8,9};//定义数组时,初始化数组成员的值。

intarray[10]={3,7,9};//将前三个数字赋给数组,其余元素设置为0。

intarray[10]={0};//将所有数字设置为0。

intarray[]={1,2,3,4,5};//数组的长度由数组中定义的元素决定。

intarray[10];//如果只定义了一个数组,赋值时只能对元素单独赋值,不能对整个数组进行赋值。

参考来源:-数组


二、这个数据段占多少个字节?db是一个字节,后面是一个字符串,每个字节一个字符,共21×4×1=84个字节;
dw是两个字节,共21×2=42个;
dd是四个字节,总共21×4=84
所以数据段总共是84+84+42=210字节


三、内存空间地址段为1000H至5FFFH.则可以表示()个字节的储存空间。答案是20KB.求详细步骤

5fff+1=6000

6000-5000=5000(高)

5000(高)

=5*16^3

=5*(2^4)^3

=5*2^12

=5*2^2*2^10

=20*2^10=20*1024

=20KB

例如:

以上数值均以十六进制表示,换算成小数点后的地址范围为:

4096(4k)~20480(20k)

所以,1000h~4fffh的存储空间为20-4=16k。

扩展信息:

计算机的内存地址可以分为若干个逻辑段。例如,一块内存的大小为1KB(8位),可以分为4段:

第一段地址范围为0-255,段地址为0;

第二段地址范围为256-511,段地址为256;

第三段地址范围为512-767,段地址为512;

第三段地址范围为512-767,段地址为512;

第四段地址范围为768-1023,段地址为768。

参考来源:的段地址