存储器分类

一、根据存储介质分

存储器按照不同的存储介质可以分为:内存和外存。

内存:存储在CPU外部但与CPU有高速率的数据传输通道连接的存储器。

外存:存储在CPU外部,与CPU的数据传输通道连接速度较慢且容量较大的存储器,如硬盘、U盘等。

二、按存储数据的时间特性分

存储器按存储数据的时间特性可以分为:易失性存储器和非易失性存储器。

易失性存储器:数据存在时间较短,如RAM。断电后数据将丢失。

非易失性存储器:断电后数据不会丢失,如ROM、Flash等。

三、根据存储单元的结构分

存储器按存储单元的结构可以分为:串行存储器和并行存储器。

串行存储器:按位进行存储,适用于数据量较小的场景,如寄存器。

并行存储器:按字(位组)进行存储,适用于数据量较大的场景,如RAM、Flash等。

四、根据读写特点分

存储器按读写特点可以分为:随机存储器和顺序存储器。

随机存储器:可以随机读写任意一个存储单元,如SRAM、DRAM。

顺序存储器:只能按照存入的次序顺序读写存储单元,如磁带机、光盘等。

五、根据存储单元的寻址方式分

存储器按存储单元的寻址方式可以分为:直接寻址存储器和间接寻址存储器。

直接寻址存储器:通过地址码能够直接访问到存储器中的存储单元,如RAM、ROM等。

间接寻址存储器:通过地址码只能访问一个寄存器或计数器,再通过该寄存器或计数器所存储的地址码才能访问到存储器中的存储单元,如Cache等。

六、示例代码

#include <stdio.h>

int main()
{
    // 声明和定义一个数组,存储在内存中
    int arr[5] = {1, 2, 3, 4, 5};
    
    // 声明和定义一个指针变量,存储在内存中
    int* p = arr;
    
    // 获取数组元素并打印
    for(int i = 0; i < 5; i++)
    {
        printf("%d ", *(p + i));
    }
    printf("\n");
    
    // 分配内存并打印
    int* ptr = (int*)malloc(sizeof(int) * 5);
    for(int i = 0; i < 5; i++)
    {
        ptr[i] = i;
        printf("%d ", *(ptr + i));
    }
    printf("\n");
    
    // 释放内存
    free(ptr);
    
    return 0;
}

原创文章,作者:TGNUG,如若转载,请注明出处:https://www.506064.com/n/360732.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
TGNUGTGNUG
上一篇 2025-02-24 00:33
下一篇 2025-02-24 00:33

相关推荐

  • 计算机存储器详解

    计算机存储器是计算机系统中最为核心的部分之一,它是计算机系统中的数据存储、读写操作的场所,使用了如 DRAM、SRAM 等芯片作为存储媒介,是计算机系统中最快速的部分之一。以下从不…

    编程 2025-04-23
  • Flash存储器

    一、基本概念 Flash存储器,也称闪存,是一种非易失性存储器,用于存储数据。它采用固态存储技术,不需要动态维护电容或磁性材料来保存数据,能够在无电源情况下保留数据。Flash存储…

    编程 2025-04-23
  • 磁芯存储器——详细解析

    一、起源和发展 磁芯存储器是计算机中最早的存储器之一,其原理可以追溯到二战末期的美国。在当时,计算机需要一种稳定性能强的存储器,而磁芯存储器应运而生。随着计算机技术的不断发展和更新…

    编程 2025-04-13
  • 辅助存储器详细解析

    一、存储器介绍 辅助存储器是计算机系统中一种重要的存储设备,用于存储大量的数据和程序。它与主存储器不同,主存储器的作用是暂时存储正在运行的程序和数据,而辅助存储器则用于永久性的存储…

    编程 2024-12-15
  • PROM存储器

    一、PROM存储器概述 PROM存储器是一种编程只读储器,是一类重要的固化存储器。它的主要特点是程序只能写入一次,而且写入后就不能修改,只能读取。因此PROM存储器也称“只可编程一…

    编程 2024-11-02

发表回复

登录后才能评论