精华内容
下载资源
问答
  • 数据结构-二维数组-存储结构

    千次阅读 2017-09-28 11:18:40
    数组的两个主要的顺序存储方式,数组具有随机访问特点,要求能够依据下标计算出任一数组元素的存储地址(概念上的地址):计算机主存的每个地址存储内的每个...在计算元素地址之前需要了解二维数组的两种存储方式

    数据结构-二维数组存储结构

    一、随机访问地址计算

    前情提要:

    下文中说到的地址,在c语言和c++语言里叫指针,与现实生活中每个家庭都有家庭地址一样类似的概念,但是真正细究起来,c语言和c++语言里的地址和真实的主存地址,也就是物理地址又是不一样的,主要原因是有一个计算机操作系统管理着你写的程序具体在哪一个物理内存块,所以c语言和c++语言里的地址也叫做虚拟地址,虚拟地址到物理地址映射是操作系统的内存管理实现的,这里说起来又是一堆的话。

    两种存储方式

    数组具有随机访问特点,要求能够依据下标计算出任一数组元素的存储地址(概念上的地址):
    计算机主存的每个地址和存储内的每个字节是一一对应的,而每个字节间的排列顺序是线式的。在计算元素地址之前需要了解二维数组的两种存储方式:
    二维数组具有两种存储方式:

    1、以行为主顺序优先存储:

    这里写图片描述
    因为aij是二维数组中第i行,第j列的元素,第(i1)行共(i1)n个元素,在第i行中前面已经存放了(j1)个元素,故在aij前面共放了(i1)n+(j1)个元素;
    令每个元素占用空间e个单位
    以第一个a11的地址address(a11)为基地址可以得到:

    address(aij)=address(a11)+((i1)n+(j1))e

    如果以任意的A[c1..d1,c2..d2](其中c1c2表示基地址元素;d1c1+1d2c2+1表示数组的行数和列数)可得:

    address(aij)=address(ac1c2)+((ic1)(d2c2+1)+(jc2))

    2、以列为主顺序优先存储:

    这里写图片描述

    因为aij是二维数组中第i行,第j列的元素,第(j1)列共(j1)m个元素,在第i行中前面已经存放了(i1)个元素,故在aij前面共放了(j1)m+(i1)个元素;
    令每个元素占用空间e个单位
    以第一个a11的地址address(a11)为基地址可以得到:

    address(aij)=address(a11)+((j1)m+(i1))e

    如果以任意的A[c1..d1,c2..d2](其中c1c2表示基地址元素;d1c1+1d2c2+1表示数组的行数和列数)可得:

    address(aij)=address(ac1c2)+((jc2)(d1c1+1)+(ic1))

    以上就是对数组的顺序存储两种方法介绍,初写理论文章大牛勿喷,多多指教哈

    展开全文
  • 一段程序在采取分页存储方式时,这段程序会被编译成为一大段机器指令,这些指令之间地址是连续的 采用分页机制后,则相邻两页的存储地址是连续的。比如第0页的最后一个地址和第1页的第一个地址是连续的(这里的...

    分页存储:

    一段程序在采取分页存储的方式时,这段程序会被编译成为一大段机器指令,这些指令之间地址是连续的
    采用分页机制后,则相邻两页的存储地址是连续的。比如第0页的最后一个地址和第1页的第一个地址是连续的(这里的地址是指逻辑地址)——此时就相当于只需要提供一个地址,就能够得到页号和偏移量
    ——————————
    若采用分段机制,则这段程序就会被编译程序编译成多个段,比如数据段、代码段、附加段等,每个段的段号是编译器自动分配的,每个段的长度不定,因此虽然数据段、代码段的段号是0-1连续的,但是数据段的最后一个地址和代码段的第一个地址是不连续的,所以我们在提供此时的地址时,即需要提供段号,又需要提供段内的偏移地址。所以称分段存储的地址空间是二维的
    ——————————
    若不能理解,可这样理解:
    因为分页存储的页的大小是相同的。所以我们只需要提供一个逻辑地址就能够求出其所在的页号和页内偏移地址。如逻辑地址为2049,页的大小的1k,则此逻辑地址所指向的位置在第(2049/2)=2页,偏移地址为(2049➗2)=1处。
    而分段存储的段大小是在程序员进行编程时认为设定的。比如编辑时设置main函数和其他作用函数,则把main函数和其他作用函数分别作为一个段。这些段的大小自然不会是相同的。如果我们只给定一个逻辑地址时。我们并不能够求出其所在的段号和段偏移量。所以可以理解为我们需要提供两个逻辑地址,分别表示其段号和段偏移量,在计算机给出这个逻辑地址时将其合二为一形成我们最后所看到的逻辑地址。(这是为了记忆方便的理解,不是准确原理!)所以分段存储的地址空间是二维的,分页存储的地址空间是一维的。当然的,段页式存储的地址空间是二维的。

    2020-10-16 OS复习内存管理处

    展开全文
  • 今天我们来聊聊二维数组及其二维数组的动态内存分配关知识。 1.数组的基本定义 我们都知道,数组是典型的线性存储,是一种最基本的存储表示方法, 把逻辑上相邻的元素存储在物理位置相邻的存储单元中,由此得到的...

    本文为大一时所写的文章(2017/4/9),文笔还很生疏,在很多问题上认识不深,算是在学校的微信公众号上的一个编程探究模块上的投稿,本人当时也参与了本模块的维护和管理。补档。
    今天我们来聊聊二维数组及其二维数组的动态内存分配关知识。

    1.数组的基本定义

    我们都知道,数组是典型的线性存储,是一种最基本的存储表示方法,
    把逻辑上相邻的元素存储在物理位置相邻的存储单元中,由此得到的存储表示称为线性存储结构。
    更直白的来讲,我们可以将数组看成一次性声明一连串的类型相同的变量,他们在逻辑上联系,在物理上也连续,通过偏移量来访问内容。
    拜此所赐,数组几乎可以使用你所知道的任何一种数据类型来声明
    例如
    各种数据类型的生命
    数组的特性使她在处理一些数据类型相同但数据庞大的工程有一定的优势。

    2.二维数组的基本定义

    二维数组是一维数组的“升级”版
    形式为:函数名 数组首地址[行][列]
    在逻辑上申请了一个二维空间,分配的大小是行数据类型类型大小,但根据数组定义可知,通过偏移量访问,物理上的地址还是连续的。

    例如:
    线性存储
    二维数组本质上也是线性存储,假设二维数组是2*2大小,那么A[0][1]所在内存块的下一块内存就是A[1][0],在物理位置上是连续的。

    3.数组的局限性

    在实际生活中,有时候需要你输入的数据长度是不确定的,而数组在声明的时候可以用常量表达式或者宏替换(defline)但不能使用变量确定数组长度。因为数组的声明在编译阶段,生命周期是当前声明的那块区域了,无法改动。
    例如这样的声明是不被允许的在这里插入图片描述
    这样的声明是正确的在这里插入图片描述
    那么我们如何能按需分配内存空间,做到不浪费内存更优化程序呢?这就要提到malloc()和free()函数了。

    4.二维数组的动态分配

    这里先了解malloc()和free()函数。
    函数形式void malloc(size) void free(void
    malloc()作用是在内存的动态存储区分配一块长度为size字节的连续区域,函数的返回值为该区域的首地址。
    free()作用是释放指针指向的区域内存。
    方法一:
    根据数组定义可知,二维数组也是一连串数据的线性存储,希望声明一个a[x][y]长度的内存空间可以通过申请长度为x
    y的方式实现。
    参考程序:
    在这里插入图片描述
    结果为在这里插入图片描述
    指针p指向了一个“二维”数组,长度由键盘输入,程序简单容易理解。
    最后p所指向的内存被释放,不占有空间。
    方法二:
    声明一个指向指针的指针,并给她分配动态指针数组,分别让每个动态指针数组指向相应的数据区域,有很强的连续性。

    在这里插入图片描述
    在这里插入图片描述
    用指针实现可以显著减少内存的浪费,让程序运行更加健壮。
    下期暂定讨论结构体相关知识。
    由于本人的能力有限,程序不可避免的会有瑕疵,请各位同学斧正!

    展开全文
  • 文章目录Oracle的二维管理Oracle数据库表的字段类型说明Oracle二维表的创建 Oracle数据库字段类型参考文章:ORACLE中的各种数据类型详细的介绍 Oracle的二维管理 Oracle数据库表的字段类型说明 Oracle常用的数据...

    Oracle数据库字段类型参考文章:ORACLE中的各种数据类型详细的介绍

    Oracle的二维表管理

    Oracle数据库表的字段类型说明

    Oracle常用的数据类型主要有

    数据类型 参数 描述
    char(n) n=1 to 2000字节 定长字符串,n字节长,如果不指定长度,缺省的话为1个字节长(一个汉字是连个字节)
    varchar2(n) n=1 to 4000字节 可变长的字符串,具体定义时指明最大长度n
    number(m,n) m=1 to 38 n=-84 to 127 可变长的数值列,允许0、正值及负值,m是所有有效数字的位数,n是小数点之后的位数,如果实际位数超出了位数限制就会被截取多余的位数
    date 从公元前4712年1月1日到公元4712年12月31日的所有合法日期
    long 可变长字符列,最大长度限制是2GB,用于不需要作字符串搜索的长串数据,如果要进行字符搜索就要用varchar2类型。
    raw(n) n=1 to 2000 可变长二进制数据,在具体定义字段的时候必须指明最大长度n,Oracle 8i用这种格式来保存较小的图形文件或带格式的文本文件,如Miceosoft Word文档。
    blob clob nclob 三种大型对象(LOB),用来保存较大的图形文件或带格式的文本文件,如Miceosoft Word文档,以及音频、视频等非文本文件,最大长度是4GB。LOB有几种类型,取决于你使用的字节的类型,Oracle 8i实实在在地将这些数据存储在数据库内部保存。可以执行读取、存储、写入等特殊操作。
    bfile 在数据库外部保存的大型二进制对象文件,最大长度是4GB。这种外部的LOB类型,通过数据库记录变化情况,但是数据的具体保存是在数据库外部进行的。Oracle 8i可以读取、查询BFILE,但是不能写入。大小由操作系统决定
    char和varchar2的比较
    varchar2类型(底层需要做一次判断):varchar2(ln) ln表示字符最大长度实际存储内存长度是根据字符大小来分配,但是最大不能超过ln
    char类型(底层不需要判断):char(ln) 不管字符数据大小是多大,直接开辟ln大小的空间存储数据

    总结:varchar2的特点是:动态分配内存空间,节省空间,char的特点是:存储效率高于 varchar2,所以小型数据可以选择 char,比较大型的数据建议使用 varchar2

    Oracle二维表的创建

    创建二维表,下面给了一个最简单的无任何约束的创建数据库表的示例

    create table student(
                sno number(10,2),       -- sno 数值类型只有 number 最多10位 小数占2位
                sname varchar2(100),
                sage number(3),
                ssex char(4),		  -- char varchar2 都代表是string的类型
                sfav varchar2(500),
                sbirth date
    )
    

    在了解了简单数据库表的创建之后,接下来学习数据库表的多种约束,在下面列出来的种种约束的创建都是可以通过SQL以及PL/SQL两种方式来完成的,首先介绍SQL命令方式,之后再补充简单的PL/SQL的操作

    主键约束

    主键:在数据库表中唯一非空的字段便可以定义为主键,在一张表中可以定义为主键的字段是唯一的,接下来介绍三种添加主键以及一种删除主键的方式

    1. 直接在创建表的时候添加主键约束,具体如下

       create table student(
           sno number(10,2) primary key,       -- 注意是添加在逗号前面
           sname varchar2(100),
           sage number(3),
           ssex char(4),		  
           sfav varchar2(500),
           sqq varchar2(30)                    -- 最后一行没有逗号
       )
      
    2. 在声明数据库表格结构的最后一行声明主键约束,具体如下

       语法: constraints  约束名称  primary key(主键名称) 
       注意:在这里的约束名称当执行SQL有问题时会被提示出来,一般约束名称的命名规则是  约束类型的简写(pk,ck,un)_数据表名_字段名
       create table student(
           sno number(10,2) ,
           sname varchar2(100),
           sage number(3),
           ssex char(4),		  
           sfav varchar2(500),
           sqq varchar2(30),                   --注意此时应该加上逗号
           constraints pk_student_sno primary key(sno)
       )
      
    3. 在创建表之后使用 alter table语句给对应表设置约束,具体如下

       alter table student add constraints pk_student_sno primary key(sno);
      
    4. 删除主键约束,这里同样使用 具体如下

       alter table student drop constraints pk_student_sno;
      

    非空约束

    非空约束是指对于数据库表中的特定字段,应该不能输入空值,添加非空约束同样也是可以三种方式以及一种方式的删除约束

    1. 直接在创建表的时候添加非空约束

       sname varchar2(100) not null,          ----添加非空约束
      
    2. 在声明数据库表格结构的最后一行声明非空约束,具体如下

       constraints ck_student_sname check(sname is not null)
      
    3. 在创建表之后使用 alter table语句给对应表设置约束,具体如下

       alter table student add constraints ck_student_cname check(sname is not null)
      
    4. 删除主键约束,这里同样使用 具体如下,具体如下

      alter table student drop constraints ck_student_cname;
      

    检查约束

    检查约束只要是指给特定字段添加限制,比如年龄必须是在特定范围内,性别只能是男女等

    1. 直接在创建表的时候添加非空约束,具体如下

       sage number(3) check(sage>0 and sage<150),
       ssex char(4) check(ssex='男' or ssex='女'),
      
    2. 在声明数据库表格结构的最后一行声明主键约束,具体如下

       constraints ck_student_sage check(sage>0 and sage <200),
       constraints  ck_student_ssex check(ssex='男' or ssex='女'),
      
    3. 在创建表之后使用 alter table语句给对应表设置约束,具体如下

       alter table student add constraints ck_student_sage checkcheck(sage>0 and sage<150);
       alter table student add constraints ck_student_sex check(ssex='男' or ssex='女')
      
    4. 删除主键约束,这里同样使用 具体如下,具体如下

       alter table student drop constraints ck_student_sage
       alter table student drop constraints ck_student_sex;
      

    唯一约束

    唯一约束是指在这个字段中,每个值都应该是互不相同的

    1. 直接在创建表的时候添加非空约束,具体如下

       sqq varchar2(30) unique,
      
    2. 在声明数据库表格结构的最后一行声明主键约束,具体如下

       constraints un_student_qq unqiue(qq)
      
    3. 在创建表之后使用 alter table语句给对应表设置约束,具体如下

       alter table student add constraints un_student_qq unique(qq)
      
    4. 删除主键约束,这里同样使用 具体如下,具体如下

       alter table student drop constraints un_student_qq
      

    外键约束

    外键的概念:当一张表的某个字段的值需要依赖另外一张某个表的某个字段的值,则使用外键约束,其中主动依赖的表称为子表,被依赖的表称为父表,外键加在子表中。例如如下两张表格,学生表中需要课程表的课程号,且不能添加不存在的课程号信息到学生表中,这种情况便可以设置外键约束。

    --创建学生表(子表)
         create table student(
                sno number(10) primary key,
                sname varchar2(100) not null,
                sage number(3) check(sage>0 and sage<150),
                ssex char(4) check(ssex='男' or ssex='女'),
                sfav varchar(500),
                sqq varchar2(30) unique,
                cno number(10)
         )
         
      --创建班级表格(父表)
        create table class(
               cno number(10) primary key,
               cname varchar2(100) not null,
               cdesc varchar2(300) 
        )
    
    

    其中一般选取父表的主键作为子表的外键,且外键与主键名称不必相同

    1. 直接在创建表的时候添加非空约束,具体如下

       cno number(10) references class(cno),
      
    2. 在声明数据库表格结构的最后一行声明主键约束,具体如下

        constraints fk_student_cid foreign key(cid) references class(cno)
      
    3. 在创建表之后使用 alter table语句给对应表设置约束,具体如下

        alter table student add constraints fk_student_cid foreign key(cno) references class(cno)
      
    4. 删除主键约束,这里同样使用 具体如下,具体如下

       alter table student drop constraints  fk_student_cid
      

    外键约束优化

    有外键约束的数据表在删除时会因为存在外键约束导致数据删除失败,这时需要优化数据表的外键设置

    1. 使用 on delete cascade关键字 级联删除,缺点是级联删除会将有关联的数据一起删除,比如完成如下设置以后,假如删除 class表中的1班级,student表中的班级号为1的也将全部删除

       alter table student add constraints fk_student_cid foreign key(cno) references class(cno) on delete cascade;
      
    2. 使用 on delete set null关键字,删除父表数据时 将子表中的依赖字段的值设置为null,因此子表依赖的字段不能设置非空约束

       alter table student add constraints fk_student_cid foreign key(cno) references class(cno) on delete set null;
      

    总结

    这一篇博客的主要内容是了解Oracle主要数据类型的含义以及添加约束的三种方法,重点了解约束类型:主键约束,非空约束,检查约束,唯一约束以及数据表中中外键的设置。

    展开全文
  • uC/OS-II内存管理函数的二维指针

    千次阅读 2012-07-11 16:47:15
    uC/OS-II内存管理函数内最难理解的部分就是二维指针,本文以图文并茂的方式二维指针进行了详细分析与讲解。看完本文,相信对C里面指针的概念又会有进一步的认识。   一、OSMemCreate( ) 函数中有如下语句: ...
  • 分段存储管理方式

    千次阅读 2019-03-31 11:31:22
    分段存储管理方式(已成为当今所有存储管理方式的基础) 分段存储管理方式的引入 为了满足以下需要 方便编程 信息共享 信息保护 (数据段)动态增长 动态链接(以段作为基本单位链接) 基本原理 分段地址结构...
  • 首先回顾一下分页机制中逻辑地址结构:页号:页内偏移量 再来回顾一下分段机制中逻辑地址结构:段号:段内偏移量   针对上面的问题,老羊快跑这里给大家简单解释一下。 假设有一段程序,在没有采用分段机制...
  • 页式,段式,段页式存储的虚拟地址空间数问题

    千次阅读 多人点赞 2018-07-28 01:11:46
    这是由存储管理方式的特点决定的,跟逻辑地址结构没有关系。   站在程序员的角度,你想操作一个内存地址, (1)页式存储,你直接给个逻辑地址就行,所以是一的。  虽然这个逻辑地址包含(页号,偏移量)...
  • 基本分段存储管理方式

    千次阅读 2018-11-25 12:58:08
    一、分段系统的基本原理 1、程序通过分段(segmentation)划分为多个模块,每个段定义一组逻辑信息。如代码段(主程序段main,子程序段X)、数据段D、栈段S等。 2、每段有自己的名字...5、地址结构:段号 + 段内地址...
  • JAVA之旅(三)——数组,堆栈内存结构,静态初始化,遍历,最值,选择/冒泡排序,二维数组,面向对象思想 我们继续JAVA之旅 一.数组1.概念 数组就是同一种类型数据的集合,就是一个容器数组的好处:可以自动给...
  • 从内存角度看,二维数组和一维数组一样,在内存中都是连续分布的多个内存单元,并没有本质差别,只是内存的管理方式不一样,如下图所示 一维数组int a[10]与二维数组int b[2][5]的对应关系 一维数组 a[0] a...
  • 内存管理之:页和页框&地址变换结构

    万次阅读 多人点赞 2018-03-19 15:01:13
    分页存储管理是将作业的逻辑地址划分为一系列同等大小的部分,称为页。 并为各页加以编号,每个作业的页的编号都是从0开始的。 页框 与之类似,把可用的物理内存也划分为同样大小的连续的部分,称为块或页...
  • 【操作系统】分段存储管理方式

    万次阅读 多人点赞 2016-12-14 12:07:57
    分段存储管理方式的引入分段存储管理方式的引入是为了满足用户的要求。 方便编程:通常一个作业是由多个程序段和数据段组成的,一般情况下,用户希望按逻辑关系对作业分段,并能根据名字来访问程序段和数据段。 信息...
  • 操作系统基本分段存储管理方式

    千次阅读 2014-05-03 10:11:21
    操作系统基本分段存储管理方式 引入分段存储管理方式的目的:满足程序员在编程和使用上多方面的要求。这种存储管理方式已经成为当今所有存储管理方式的基础。 1、分段存储管理方式的引入 主要满足用户和程序员以下...
  • 分页存储管理方式

    千次阅读 2018-12-05 18:28:54
    存储管理的离散分配方式 基本分页存储管理 基本分段存储管理 段页式存储管理 .基本分页存储管理 离散分配内存: 作业规定大小划分成小份;内存也按同样大小划分成小份 作业的任一小份可分散放入内存任意未...
  • 基础知识 逻辑地址 / 物理地址 装入的三种方式 1、绝对装入:编译时完成地址变换 2、静态重定位:装入时完成地址...基本分页存储管理 思想 易混 页表(page frame) 逻辑地址结构 如何实现地址转换 基本地址变换机构 具
  • 基本分段式存储管理方式

    千次阅读 2019-11-01 09:12:56
    基本分段式存储管理方式
  • 段页式存储管理方式详解

    千次阅读 2020-05-12 15:34:32
    段页式存储管理方式详解分段存储方式引入目的:基本原理分段段表地址变换机构信息保护信息共享分页与分段的主要区别:段页式存储管理方式引入原因:基本原理段表与页表地址变换机构 分段存储方式 引入目的: 满足用户在...
  • 二维地图的制作

    千次阅读 2020-04-28 17:36:07
    二维地图的制作 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 开发工具与关键技术:SuperMap iDesktop 10i/二维地图的制作 作者:郑石秀 撰写时间:2020/4/28 ~~~~~...
  • 存储管理的离散分配方式

    千次阅读 2018-12-07 19:01:33
    存储管理的离散分配方式 页面的概念 页表的概念​ 地址的处理 地址变换机构 两级、多级页表,反置页表 基本分段存储管理方式 分段系统的基本原理 段表与地址变换机构 ★分页与分段的主要区别 段页式存储...
  • 2014秋C++ 第14周项目 二维数组

    千次阅读 2014-11-24 16:48:31
     【项目1-折腾二维数组】创建一个5行4列的二维整型数组,通过初始化,为数组中的前两列的10个元素赋初值,然后:?通过键盘输入,使后两列的10个元素获得值;?按行序优先输出数组元素;?将所有元素值乘以3后保
  • 10.基本分段存储管理方式

    千次阅读 2018-05-25 10:44:04
    分页和分段的主要区别a)、页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率;段则是信息的逻辑单位,它含有一组其意义相对完整的信息,分段的目的是为了能更好地满足用户的需要...
  • 【物联网】矩阵式二维条码 介绍

    千次阅读 2017-08-11 15:33:07
    QR Code是由日本Denso公司于1994年9月研制的一种矩阵式二维条码,它除具有二维条码所具有的信息容量大、可靠性高、可表示汉字及图象多种信息、保密防伪性强等优点外,还具有以下特点: 超高速识读:QR Code码的超...
  • 原文地址:彰显GIS应急管理核心价值" href="http://blog.sina.com.cn/s/blog_7f1143e00100u1qd.html" target="_blank">一体化 彰显GIS应急管理核心价值作者:超图软件产品中心 真空间GIS突破瓶颈 ...
  • 1.采用相联存储器后地址转换过程,用图表示出来。...在分段方式中,源程序(段号、段内位移)经链接装配后仍保持二维地址结构,引入目的是满足用户模块化程序设计的需要。 分页是信息的物...
  • 存储管理的基本原理

    2014-11-04 23:19:01
    存储管理的基本原理 内存管理方法 内存管理主要包括内存分配和回收、地址变换、内存扩充、...连续分配有单一连续存储管理和分区式储管理两种方式。 (1)单一连续存储管理 在这种管理方式 中,内存被分为两个区域:
  • 虚拟存储器(VM)的主要思想是:(1)将进程虚拟存储器的内容存储在磁盘上,然后用主存作为磁盘的高速缓存,...在段页式存储管理中,其虚拟地址空间是二维的(段号和段内地址);采用(分段式)存储管理不会产生内部碎
  • 操作系统之存储器管理方式

    千次阅读 2018-07-24 19:40:39
    存储器管理 存储器管理 存储器的层次结构 存储器设计为层次结构的原因 常见存储器层次划分 程序的装入和链接 ...绝对装入方式 可重定位装入方式(也称为静态重...分页存储管理方式 页的引入及其组织形式 页表 ...
  • 结构化数据和非结构化数据、半结构化数据的区别

    万次阅读 多人点赞 2019-03-05 22:10:06
    结构化数据,是指由二维结构来逻辑表达和实现的数据,严格地遵循数据格式与长度规范,主要通过关系型数据库进行存储管理。 也称作行数据,一般特点是:数据以行为单位,一行数据表示一个实体的信息,每一行数据...
  • 对uC/OS-II内二维指针的研究

    千次阅读 2011-01-10 15:37:00
      uC/OS-II内存管理函数内最难理解的部分就是二维指针,本文以图文并茂的方式二维指针进行了详细分析与讲解。看完本文,相信对C里面指针的概念又会有进一步的认识。   一、OSMemCreate( ) ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 62,598
精华内容 25,039
关键字:

存储管理方式提供二维地址结构