首页 > 系统相关 >熟练使用有棱有角的内存

熟练使用有棱有角的内存

时间:2024-02-18 23:22:38浏览次数:23  
标签:数据 元素 索引 有棱有角 内存 数组 IC 熟练

内存IC中邮电源,地址信号,数据信号,控制信号等用于输入输出的大量引脚(IC的引脚),通过为其指定地址(address),来进行数据的读写。现在大家使用的计算机至少有512M的内存。这就相当于512000个(512 MB÷1 KB=512 K)1 KB的内存IC。当然一台计算机中不大可能放入如此多的内存IC。通常情况下计算机使用的内存IC中会有更多的地址信号引脚,这样就能在一个内存IC中存储数十兆字节的数据。因此,只用数个内存IC,就可以达到512 MB的容量。另外像WT和RD这样可以让IC运行的信号称为控制信号。其中当WR和RD同时为0时,写入和读出的操作都无法进行。由此可见内存IC的物理机制实质上是很简单的。
编辑语言中的数据类型表示存储的是何种类型的数据。此外,在不同的编程语言中变量可以指定的数据类型的最大长度也不相同。
指针也是一种变量它所表示的不是数据的值,而是存储着数据的内存的地址。通过使用指针就可以对任意指定地址的数据进行读写。通常情况下指针变量的长度是32位。
数组是指多个同样数据类型的数据在内存中连续排列的形式。作为数组元素的各个数据会通过连续的编号被区分开来这个编号称为索引。指定索引后,就可以对该索引所对应地址的内存进行读写操作。而索引和内存地址的变换工作则是由编译器自动实现的。数组的定义中所指定的数据类型,也表示一次能够读写的内存大小。之所以说数组是内存的使用方法的基础是因为数组和内存的物理构造是一样的。不过如果只能逐个字节来读写程序就会变得比较麻烦因而可以指定任意数据类型来定义数组。使用数组能使编程工作变得更加高效。如果在反复运行的循环处理中使用数组,很短的代码就能达到按顺序读出或写入数组元素的目的。不过,虽然是通过指定索引来使用数组,但这和内存的物理读写并没有特别大的区别,很多程序都会在数组的使用上花费大量功夫。
栈和队列,都可以不通过指定地址和索引来对数组的元素进行读写。需要临时保存计算过程中的数据,连接在计算机上的设备或者输入输出的数据时,都可以通过这种方法来使用内存。如果每次保存临时数据都需指定地址和索引程序就会变得比较麻烦因此要加以改进。栈和队列的区别在于数据出入的顺序是不同的。如果我们在内存中预留出栈和队列所需要的空间,并确定好写入和读出的顺序,就不用再指定地址和索引了。如果要在程序中实现栈和队列,就需要以适当的元素数来定义一个用来存储数据的数组,以及对该数组进行读写的函数对。当然,在这些函数的内部,对数组的读写绘涉及索引的管理,但从使用函数的角度来说,就为有必要考虑数组以及索引了。队列这一方式也称为排队。队列一般是以环状缓冲区的方式来实现的,也就是本章标题中所说的“熟练使用有棱有角的内存”。
在数组的各个元素中,除了数据的值之外,通过为其附带上下一个元素的索引,即可实现链表。数据的值和下个元素的索引组合在一起,就构成了数组的一个元素。这样数组元素相连就构成了念珠式的链表。在需要追加或删除数据的情况下使用链表是很高效的。如果不是用链表数组,那么中途删除或追加元素时,其后的元素就必须要全部移动。而在实际的程序中,有时需要对包含数千至数万个元素的数组进行频繁的数据追加或删除操作。如果每次都需要移动数千至数万个元素,那么哪怕是高速计算机也会花费很长时间。反之,使用代码清单来追加或删除数据则毫不费事。
二叉查找树是指在链表的基础上往数组中追加元素时,考虑到数据的大小关系,将其分成左右两个方向的表现形式。使用二叉查找树的便利之处在于可以使数据的搜索等更有效率。只要在程序开发中多花一些心思,我们就可以熟练地使用内存实现栈处理,链表处理,二叉查找树处理等。

标签:数据,元素,索引,有棱有角,内存,数组,IC,熟练
From: https://www.cnblogs.com/duyan123/p/18020144

相关文章

  • 熟练使用有棱有角的内存
       内存是一种名为内存IC的电子元件,它有多种形式,从外部来看基本机制都一样,其中有电源、地址信号、数据信号、控制信号等用于输入输出的大量引脚,通过其指定地址进行数据读写。下图的例子是内存IC的一种——RAM:其中VCC和GND是电源,A0~A9是地址信号的引脚,D0~D7是数据信号的引脚,R......
  • 《程序是怎样跑起来的》第四章:熟练使用有棱有角的内存
    第四章深入探讨了计算机内存的奥秘。在此之前,我对内存的理解仅限于其作为数据存储的媒介,而这一章却让我看到了内存的多面性。内存,如同计算机的仓库,负责存储程序运行所需的数据和指令。但这个仓库并非毫无规则,而是有着严格的组织和结构。矢泽久雄以其独特的见解和深入浅出的方式,揭......
  • 第4章熟练使用有棱有角的内存
    内存:一种IC电子元件,常见DRAM(需要经常刷新保存数据)、SRAM(不需要刷新电路既可以保存数据),可以读取与写入,ROM(只能用来读取的内存)等形式内存物理组成:电源、地址信号、数据信号、控制信号,用来输入输出的IC引脚地址信号引脚数决定了内存能够表示的地址范围:表示地址范围=2^地址信号引脚......
  • 第四章 熟练使用有棱有角的内存 笔记
    在第四章中,我深入理解了内存的工作原理和优化使用的技巧。内存作为计算机的临时存储设备,对程序运行的效率和稳定性具有重要影响。书中详细解释了内存的管理机制,包括操作系统如何分配和回收内存空间,以及如何防止内存泄漏和溢出等问题。这些内容让我意识到,合理使用内存是提高程序性......
  • 内存与磁盘
    存储程序方式为将程序存放在存储器中并依此执行的方式,而且现在的计算机基本上采用的是存储程序的方式。我们要学习磁盘必须知道磁盘中读取的数据暂时保存在内存中,当需要再次读取相同的数据时,就可以不访问磁盘,而是直接从内存中快出读取,磁盘的物理存储单位为扇区。一种被称为虚拟内......
  • 用好内存从数组开始
    数组就是将相同数据的多个数据连续排列在内存中的一个元素序列。数组是使用内存的基础,数组之所以是使用内存的基础,是因为它反映的就是内存的物理结构本身,使用数组可以提高编程效率,在循环中使用数组可以用很短的代码按顺序读取或写入数组元素。栈和队列都是无需指定地址和下标就可......
  • 2024-02-18-物联网C语言(6-动态内存申请)
    6.动态内存申请6.1动态分配概述​ 在数组一章中,介绍过数组的长度是预先定义好的,在整个程序中固定不变,但是在实际的编程中,往往会发生这种情况,即所需的内存空间取决于实际输入的数据,而无法预先确定。​ 为了解决上述问题,C语言提供了-些内存管理函数,这些内存管理函数可以按需......
  • 《程序是怎样跑起来的》第五章——内存与磁盘的亲密关系
    本章前面有几个问题:1、存储程序方式指的是什么?2、通过使用内存来提高磁盘访问速度的的机制称为什么?3、把磁盘的一部分作为假象内存来使用的机制称为什么?4、Windows中,咱程序运行时,存储着可以动态加载调用的函数和数据的文件称为什么?5、在EXE程序文件中,静态加载函数的方式称为......
  • 内存与磁盘的亲密关系
    计算机中主要的存储部件是内存和磁盘。磁盘中存储的程序,必须要加载到内存后才能运行。在磁盘中保存的原始程序是无法直接运行的。磁盘缓存指的是把从磁盘中读出的数据存储到内存空间中的方式。磁盘缓存提高访问速度的机制:(1)首次读出时从磁盘读出(低速)(2)保存读出的数据(3)......
  • 什么是内存以及内存的使用
    内存(Memory)是计算机的重要部件,也称内存储器和主存储器,它用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。它是外存与CPU进行沟通的桥梁,计算机中所有程序的运行都在内存中进行,内存性能的强弱影响计算机整体发挥的水平。只要计算机开始运行,操作系统就会把需要运算......