内存是什么?

内存的物理机制

内存实际上是一种名为内存 IC 的电子元件。虽然内存 IC 包 括 DRAM、SRAM、ROMA等多种形式,但从外部来看,其基本机制都是一样的

补充: ROM(Read Only Memory)是一种只能用来读取的内存。
RAM(Random Access Memory)是可被读取和写入的内存,分为需要经常
刷新(refresh)以保存数据的 DRAM(Dynamic RAM),以及不需要刷新电
路即能保存数据的 SRAM(Static RAM)。

图:
在这里插入图片描述
1、内存中1个地址只能够存储1个字节
2、数据信号引脚有 D0~D7共八个,表示一次可以输入输出 8 位(= 1 字节)的数据

存储容量
而地址用来表示数据的存储场所,因此我们可以得出这个内存 IC 中可以存储 1024 个 1 字节的数据

内存写入数据过程
我们假设要往该内存 IC 中写入 1 字节的数据。为了实现该目的,可以给 VCC接入+5V,给 GND 接入 0V 的电源,并使用 A0~A9 的地址信号来指定数据的存储场所,然后再把数据的值输入给 D0~D7 的数据信号,并把 WR(write = 写入的简写)信号设定成 1。执行完这些操作,就可以在内存 IC 内部写入数据
在这里插入图片描述

内存读取数据过程
读出数据时,只需通过 A0~A9 的地址信号指定数据的存储场所,然后再将 RD(read = 读出的简写)信号设成 1 即可。执行完这些操作,指定地址中存储的数据就会被输出到 D0~D7 的数据信号引脚

在这里插入图片描述

指针

指针是什么?
指针也是一种变量,它所表示的不是数据的值,而是存储着数据的内存的地址

地址与指针的比较
一个地址标记的是一个字节的位置
指针:可以对应多个地址,比如 int *a,这个指针指向的是一个四字节的地址空间,当然这个指针的值(即地址)表示的是这个空间的首个字节的地址

图:
在这里插入图片描述

补充:当程序运行时,在实际分配地址(在程序运行时,Windows 等操作系统会自动决定变量的物理地址)

Java 中不同的数据类型在内存中的具体表现是什么?

基本数据类型 字节数
byte 1byte = 8bit
short 2byte
int 4byte
long 8byte
float 4byte
double 8byte
boolean 1byte
char 2byte

数组的定义

数组与内存之间的模型关系
之所以说数组是内存的使用方法的基础,是因为数组和内存的物理构造是一样的,虽然是通过指定索引来使用数组,但这和内存的物理读写并没有特别大的区别
图:
在这里插入图片描述
以数组为基础的相应数据模型
栈、队列、链表、串、树、图 等等
– 请各位看官移步楼主的 数据结构系列。
– https://blog.csdn.net/weixin_39966065/article/details/103991009

发布了239 篇原创文章 · 获赞 78 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/weixin_39966065/article/details/104186867