还有一件事情我需要重申一下:
我们在保存一组数据时会使用以下三种方式:静态数组,动态数组和动态链表
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;
在接下的程序中,我将会大量用到这三种方式。所以一定要搞明白。
还有一个附加问题是,如何得知保存的一组数据的具体个数呢?
- 当然,最简单的方法是增加一个变量 int count来保存这组数据的具体个数。
- 如果是链表的话,可以通过链表遍历获得数组的个数。
- 如果是静态数组的话,还可以通过sizeof(静态数组)/sizeof(数组中元素的大小)获得数组元素个数。
分享到:
相关推荐
* SQL Server Profiler:用于监视 SQL Server 数据库引擎和 Analysis Services 的实例,并捕获数据库服务器在运行过程中发生的事件,将事件数据保存在文件或表中供用户分析。 七、数据库文件存储 SQL Server 2005 ...
总的来说,【简易的银行账户管理系统】涵盖了C语言编程的多个核心知识点,包括数据结构、文件操作、错误处理、内存管理等,对于初学者来说,是一个锻炼编程技能和理解操作系统底层工作原理的宝贵练习。通过实践这个...
3. **类与对象**:C++中的类是实现面向对象编程的基础,它定义了一组数据(成员变量)和操作这些数据的方法(成员函数)。在这个系统中,可以创建一个名为`Employee`的类,包含`id`、`name`、`gender`和`age`等成员...
通过预先创建并存储一组对象,当需要时可以从池中获取,而不是每次都新建,用完后再放回池中。这种方法可以避免频繁的对象创建和销毁带来的性能开销,尤其适用于生命周期短暂但频繁创建的对象。 单例工具类和Mono...
在描述中提到,该编辑器能够直接在内存中编辑RTF数据,然后保存为RTF文件。生成的RTF文件可以被任何支持RTF格式的软件打开,例如记事本,因为它能解析RTF的语法结构。 编辑RTF文件的核心在于理解RTF的语法。RTF语法...
SSM是Spring、Spring MVC和MyBatis的缩写,这是一种流行的Java Web开发框架组合,而MySQL是常用的开源关系型数据库,Redis则是一种高性能的键值对内存数据库,常用于缓存和高速数据访问。 首先,**Spring框架** 是...
- **修改联系人**:用户选定一个联系人,程序会弹出一个新的对话框,显示该联系人的详细信息,用户修改后保存。这里涉及到MFC的CRecordView类,它可以方便地与数据库进行交互,实现数据的读取和更新。 2. **MFC...
ADO.NET提供了一组类,用于创建数据库连接、执行SQL命令、填充数据集等。例如,`SqlConnection`类用于建立与SQL Server的连接,`SqlCommand`类用于执行SQL语句,而`DataSet`和`DataTable`则用来在内存中存储和操作...
主题和风格是用于定义应用程序外观的一组预设样式。主题定义了整体的外观和感觉,而风格则定义了特定控件的样式。通过定义主题和风格,开发者可以轻松地更改应用程序的整体外观。 #### 十二、创建新的Activity ...
DataSet和DataTable是ADO.NET中的离线数据容器,它们可以在内存中保存数据库表的副本,方便进行数据处理和分析。在银行系统中,可能需要将查询结果加载到DataTable,然后进行进一步的操作,如数据验证、计算或报表...
在课程设计中,学生需要选择一个项目,如学生成绩管理系统,简易客房管理系统,人事档案管理系统等,来实践数据结构和算法的应用。例如,学生成绩管理系统要求学生设计一个能够处理学生信息(如学号、姓名、科目和...
【计算机二级考试题】是针对计算机基础知识...这些知识点反映了计算机二级考试中可能遇到的主题,包括数据库操作、数据结构、操作系统交互、编程语言基础等。学习和理解这些概念对于通过考试和提升计算机素养至关重要。
这里的"简易计算机"可能指的是一个基础的计算系统或者编程模型,它可以处理加减乘除的基本运算,并且能处理超大数值的计算。这种能力在处理大量商品数量或交易时尤其重要,因为实际的购物车可能会包含多种商品,每种...
.NET Framework 4.0是微软开发的一个软件框架,它包含了一组类库,可以用于构建和运行各种类型的网络应用。此版本引入了大量改进,如改进的性能、内存管理和并发性,以及新的编程模型,如WCF(Windows Communication...
一部久享盛誉的程序开发宝典。精选570个典型范例,全面覆盖实用和热点技术,涉及面广,实用性强源于实际项目开发,帮助读者短时间掌握更多实用技术,提高编程水平范例经过精心编排,重点、难点突出,易学易懂书后...
在开发过程中,开发者可能运用了C#中的集合这一核心概念,集合是存储和操作一组对象的容器。 在C#中,集合的概念广泛应用于数据处理和管理。主要有以下几种类型的集合: 1. **数组(Arrays)**:是最基础的集合...
一部久享盛誉的程序开发宝典。精选570个典型范例,全面覆盖实用和热点技术,涉及面广,实用性强源于实际项目开发,帮助读者短时间掌握更多实用技术,提高编程水平范例经过精心编排,重点、难点突出,易学易懂书后...
一部久享盛誉的程序开发宝典。精选570个典型范例,全面覆盖实用和热点技术,涉及面广,实用性强源于实际项目开发,帮助读者短时间掌握更多实用技术,提高编程水平范例经过精心编排,重点、难点突出,易学易懂书后...