首页 > 系统相关 >数组是高效使用内存的基础

数组是高效使用内存的基础

时间:2023-01-14 18:45:44浏览次数:227  
标签:高效 数据类型 索引 内存 数组 100 内存地址

数组是指多个同样数据类型的数据在内存中连续排列的形式。作为数组元素的各个数据会通过连续的编号被区分开来,这个编号称为索引(index)。指定索引后,就可以对该索引所对应地址的内存进行读写操作。而索引和内存地址的变换工作则是由编译器自动实现的。
代码清单4-3表示的是在C语言中定义char类型、short类型和long类型这三个数组。用括号围起来的[100],表示数组的元素有100个。由于在C语言中,数组的索引是从0开始的,因此,charg[100];表示的就是可以使用g[0]~g[99]这100个元素。

 

 

①CPU是通过利用基址寄存器和变址寄存器来指定内存地址的,这一点第1章中已经进行了说明。

之所以说数组是内存的使用方法的基础,是因为数组和内存的物理构造是一样的。特别是1字节类型的数组,它和内存的物理构造完全一致。不过,如果只能逐个字节地来读写,程序就会变得比较麻烦,因而可以指定任意数据类型来定义数组。这和将1层=1单元的楼房改造成多个楼层=1单元的楼房是同一个道理(图4-6)。

 

标签:高效,数据类型,索引,内存,数组,100,内存地址
From: https://www.cnblogs.com/2674308160-lucky/p/17052346.html

相关文章

  • 4.1内存的物理机制很简单
    1.有十个地址信号引脚的内存IC(集成电路)可以指定的地址范围是多少?答:用二进制数来表示的话是0000000000~1111111111(用十进制数来表示的话是0~1023)2.高级编程语言中的数......
  • 内存的逻辑模型是楼房
    虽然内存的实体是内存IC,不过从程序员的角度来看,也可以把它假想成每层都存储着数据的楼房,并不需要过多地关注内存IC的电源和控制信号等。因此,之后的讲解中我们也同样会使用......
  • SA后缀数组
    SA后缀数组sa数组:sa[i]=x表示对于所有的后缀进行排序(字典序)后,得到排名为i的以第x个字符开头的后缀rk数组:rk[x]=i,是对于所有的后缀进行排序(字典序)后,得到以第x个字符......
  • 20 个 JS 工具函数助力高效开发
    日常开发中,面对各种不同的需求,我们经常会用到以前开发过的一些工具函数,把这些工具函数收集起来,将大大提高我们的开发效率。1、校验数据类型export const typeOf = fu......
  • 利用lodash对(对象)数组去重
    使用场景:根据数(对象)组中的id或者其他属性去重,或者对象中的所有属性值相同的去重。传统方法:通过数组的some进行逐项判断;用了lodash之后发现还是很香的。import{isEqual......
  • c++ 数组
              ......
  • 数组元素移动到指定位置
    letdata=[{name:1},{name:2},{name:3}]//arr:原数组,a:某个对象当前位置,b:某个对象想要移动到的位置functionMove(arr,a,b){letarr_temp=[].concat(arr);......
  • php 将二维数组处理成以某一列为key,某一列为value的一维数组
    $list=[0=>['id'=>1001,'name'=>'张三'],1=>['id'=>2091,'name'=>'李四']];array_combine(arr......
  • Java数组动态扩容和动态缩减
    数组动态扩容:packagecom;importjava.lang.String;importjava.util.Scanner;publicclassLinghu{publicstaticvoidmain(String[]args){intarr[]={1,2,3......
  • 数组
    数组定义数组是相同类型数据的有序集合数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成其中,每个数据称作一个数组元素,每个数据元素可以通过一......