内存实际上是一种名为IC的电子元件。
数据信号引脚有D0~D7 八个,表示一次可以输出8位(1字节)的数据;
地址信号引脚由A0~A9 十个,表示可以指定0000000000·~1111111111共1024个地址。
即这个内存IC可以储存1024个1字节的数据 1024=1K,所以该内存IC容量为1KB。
1MB=1000KB 通常情况下,计算机使用的内存IC中有更多的地址信号引脚,这样就可以在一个内存IC中存储数十兆字节的数据,
因此,用数个内存IC,就可以达到512MB的内存。
1KB的内存IC:VCC、GND电源
++
给VCC接入+5V GND介入0V 用A地址信号指定数据的存储场所,然后输入给D;
然后WR信号设定为1(执行这些操作,可以在内存IC写入数据)
通过A地址信号指定数据的存储场所,将RD设定为1,地址中存储的数据就被输入D
编程语言中数据类型表示存储的是何种类型的数据,从内存上看,就是占用的内存大小
通过使用变量,即便不指定物理地址,也可以在程序中堆内存进行读写。这是因为在程序运行时,Windows等操作系统会自动决定变量的物理地址
程序中所指定的变量的数据类型的不同,读写的物理内存大小也发生变化
C语言中:8字节(64位)的double类型最大
简单的指针:
指针是一种变量,他表示的不是数据的值,而是存储着数据的内存的地址
定义指针变量,前面会加一个(星号) 如d
数组:多个同种数据类型的数据在内存中连续排列的形式,各个数据被编号区分开来,
编号称为索引。指定索引后就可以对该索引对应的地址进行读写。
charg【100】表示g【0】~g【99】; 数组是内存的使用方法的基础
栈、队列都可以不通过指定地址和索引对数组的元素进行读写,例:临时保存计算过程中的数据、连接在计算机上的设备、输入和输出的数据可以用栈、队列读写·。
栈和队列的区别:数据出入顺序不同。
栈后入先出LIFO:例如 写入数据123
456
789
读出789
456
123(栈后入先出)栈的·数组中保存的最后面的数据会最先被读取出来
队列先入先出FIFO。(排队,先买票的先进)
链表和二叉查找树,都不用考虑索引的顺序就可以对数组元素进行读写
链表可以高效的对数组数据进行追加和删减 二叉查找树高效的对数组数据检索。
二叉查找树在链表的基础上追加元素;分成左右两个方式的表现形式。
假设把50这个值保存到数组中,接下来的值大放右边 小放左边