`
桔红糕
  • 浏览: 42705 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

简易内存数据库(二)保存一组数据

    博客分类:
  • CPP
 
阅读更多

还有一件事情我需要重申一下:

我们在保存一组数据时会使用以下三种方式:静态数组,动态数组和动态链表

 1)当我们预先知道一组数据的长度,或者是最大长度的时候,可以用静态数组,在程序编译的时候就确定了保存这一组数据的内存大小。用int作为基础类型,代码如下:

int array[MAX_COUNT];

 

 2)当我们在程序运行时才能知道一组数据的长度,或者是最大长度的时候,可以用动态数组,在程序运行时一一次性分配一整块内存。用int作为基础类型,代码如下:

 

//申明
int * array;
//实现
array = (int*)malloc(sizeof(int)*MAX_COUNT);

 3)当我们在程序运行时才能够逐步发现数组的各个元素,则可以用动态链表。在程序运行时,每次分配一个元素大小的内存,再次遇到数组元素,则再分配一个元素大小的内存。用指针把这些分散的元素链接起来就可以了。用int作为基础类型,代码如下

 

//申明
struct intlink
{
	int content;
	intlink * next;
}*head;
//实现
intlink * array1 = (intlink *) malloc(sizeof(intlink));
intlink * array2 = (intlink *) malloc(sizeof(intlink));

head = array1;
array1->next = array2;
array2->next = NULL;

 

在接下的程序中,我将会大量用到这三种方式。所以一定要搞明白。

 

还有一个附加问题是,如何得知保存的一组数据的具体个数呢?

  1. 当然,最简单的方法是增加一个变量 int count来保存这组数据的具体个数。
  2. 如果是链表的话,可以通过链表遍历获得数组的个数。
  3. 如果是静态数组的话,还可以通过sizeof(静态数组)/sizeof(数组中元素的大小)获得数组元素个数。
分享到:
评论

相关推荐

    数据库技术(SQLServer)习题与参考答案.doc

    * SQL Server Profiler:用于监视 SQL Server 数据库引擎和 Analysis Services 的实例,并捕获数据库服务器在运行过程中发生的事件,将事件数据保存在文件或表中供用户分析。 七、数据库文件存储 SQL Server 2005 ...

    简易的银行账户管理系统

    总的来说,【简易的银行账户管理系统】涵盖了C语言编程的多个核心知识点,包括数据结构、文件操作、错误处理、内存管理等,对于初学者来说,是一个锻炼编程技能和理解操作系统底层工作原理的宝贵练习。通过实践这个...

    C++实现简易职工管理系统

    3. **类与对象**:C++中的类是实现面向对象编程的基础,它定义了一组数据(成员变量)和操作这些数据的方法(成员函数)。在这个系统中,可以创建一个名为`Employee`的类,包含`id`、`name`、`gender`和`age`等成员...

    Unity的简易框架

    通过预先创建并存储一组对象,当需要时可以从池中获取,而不是每次都新建,用完后再放回池中。这种方法可以避免频繁的对象创建和销毁带来的性能开销,尤其适用于生命周期短暂但频繁创建的对象。 单例工具类和Mono...

    rtf简易编辑器 for vc

    在描述中提到,该编辑器能够直接在内存中编辑RTF数据,然后保存为RTF文件。生成的RTF文件可以被任何支持RTF格式的软件打开,例如记事本,因为它能解析RTF的语法结构。 编辑RTF文件的核心在于理解RTF的语法。RTF语法...

    ssm+mysql+Redis实现简易的高并发模拟

    SSM是Spring、Spring MVC和MyBatis的缩写,这是一种流行的Java Web开发框架组合,而MySQL是常用的开源关系型数据库,Redis则是一种高性能的键值对内存数据库,常用于缓存和高速数据访问。 首先,**Spring框架** 是...

    简易通讯录小软件-MFC编写的小应用程序

    - **修改联系人**:用户选定一个联系人,程序会弹出一个新的对话框,显示该联系人的详细信息,用户修改后保存。这里涉及到MFC的CRecordView类,它可以方便地与数据库进行交互,实现数据的读取和更新。 2. **MFC...

    C# 编写的学生学籍管理系统

    ADO.NET提供了一组类,用于创建数据库连接、执行SQL命令、填充数据集等。例如,`SqlConnection`类用于建立与SQL Server的连接,`SqlCommand`类用于执行SQL语句,而`DataSet`和`DataTable`则用来在内存中存储和操作...

    android 简易

    主题和风格是用于定义应用程序外观的一组预设样式。主题定义了整体的外观和感觉,而风格则定义了特定控件的样式。通过定义主题和风格,开发者可以轻松地更改应用程序的整体外观。 #### 十二、创建新的Activity ...

    C语言课程设计——简易公交车管理系统.doc

    系统通过函数`init()`对数据进行初始化,确保在程序启动时有一组可用的公交车路线信息。 在用户界面部分,系统设计了简洁明了的操作流程。首先,用户会被提示输入一条新的公交车路线信息。输入的路线编码必须是唯一...

    c#开发 .net方向

    DataSet和DataTable是ADO.NET中的离线数据容器,它们可以在内存中保存数据库表的副本,方便进行数据处理和分析。在银行系统中,可能需要将查询结果加载到DataTable,然后进行进一步的操作,如数据验证、计算或报表...

    《数据结构与算法.pdf

    在课程设计中,学生需要选择一个项目,如学生成绩管理系统,简易客房管理系统,人事档案管理系统等,来实践数据结构和算法的应用。例如,学生成绩管理系统要求学生设计一个能够处理学生信息(如学号、姓名、科目和...

    2021-2022计算机二级等级考试试题及答案No.12322.docx

    【计算机二级考试题】是针对计算机基础知识...这些知识点反映了计算机二级考试中可能遇到的主题,包括数据库操作、数据结构、操作系统交互、编程语言基础等。学习和理解这些概念对于通过考试和提升计算机素养至关重要。

    简易计算机 ---购物车计数最佳 ---算法

    这里的"简易计算机"可能指的是一个基础的计算系统或者编程模型,它可以处理加减乘除的基本运算,并且能处理超大数值的计算。这种能力在处理大量商品数量或交易时尤其重要,因为实际的购物车可能会包含多种商品,每种...

    家用记账软件(C#,SQL Server)

    .NET Framework 4.0是微软开发的一个软件框架,它包含了一组类库,可以用于构建和运行各种类型的网络应用。此版本引入了大量改进,如改进的性能、内存管理和并发性,以及新的编程模型,如WCF(Windows Communication...

    C#程序开发范例宝典(第2版).part13

    一部久享盛誉的程序开发宝典。精选570个典型范例,全面覆盖实用和热点技术,涉及面广,实用性强源于实际项目开发,帮助读者短时间掌握更多实用技术,提高编程水平范例经过精心编排,重点、难点突出,易学易懂书后...

    自己写的基于C#的小型健康体检软件

    在开发过程中,开发者可能运用了C#中的集合这一核心概念,集合是存储和操作一组对象的容器。 在C#中,集合的概念广泛应用于数据处理和管理。主要有以下几种类型的集合: 1. **数组(Arrays)**:是最基础的集合...

    C#程序开发范例宝典(第2版).part08

    一部久享盛誉的程序开发宝典。精选570个典型范例,全面覆盖实用和热点技术,涉及面广,实用性强源于实际项目开发,帮助读者短时间掌握更多实用技术,提高编程水平范例经过精心编排,重点、难点突出,易学易懂书后...

Global site tag (gtag.js) - Google Analytics