`
桔红糕
  • 浏览: 41396 次
  • 性别: 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(数组中元素的大小)获得数组元素个数。
分享到:
评论

相关推荐

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

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

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

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

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

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

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

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

    Visual C++程序开发范例宝典(光盘) 第四部分

    实例059 将数据库中的数据表添加到ListControl控件 实例060 利用ListControl控件浏览数据 实例061 利用ListControl控件制作导航界面 实例062 在列表视图中拖动视图项 实例063 利用列标题对列表视图进行数据排序...

    Visual C++程序开发范例宝典(光盘) 第八部分

    实例059 将数据库中的数据表添加到ListControl控件 实例060 利用ListControl控件浏览数据 实例061 利用ListControl控件制作导航界面 实例062 在列表视图中拖动视图项 实例063 利用列标题对列表视图进行数据排序...

    Visual C++ 程序开发范例宝典 源码 光盘 part2

    8.3 更新数据 cc实例210 批量修改数据 cc实例211 将指定字段数据为空的记录添上数据 8.4 删除数据 cc实例212 删除单条数据 cc实例213 删除数据库中无用处的记录 8.5 视图 cc实例214 动态创建视图 cc...

    JAVA上百实例源码以及开源项目源代码

    Java 组播组中发送和接受数据实例 3个目标文件。 Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密  Java非...

    Visual C++程序开发范例宝典(PDF扫描版).part3

     cc实例059 将数据库中的数据表添加到ListControl控件   cc实例060 利用ListControl控件浏览数据   cc实例061 利用ListControl控件制作导航界面   cc实例062 在列表视图中拖动视图项   cc实例063 利用...

    Visual C++程序开发范例宝典(PDF扫描版).part2

     cc实例059 将数据库中的数据表添加到ListControl控件   cc实例060 利用ListControl控件浏览数据   cc实例061 利用ListControl控件制作导航界面   cc实例062 在列表视图中拖动视图项   cc实例063 利用...

    C#.net_经典编程例子400个

    68 实例059 在ListBox控件间交换数据 68 实例060 将数据库数据添加到组合框中 70 实例061 借助绑定控件实现数据选择录入 71 实例062 ListBox拒绝添加重复信息 72 2.6 选择类控件应用 73...

Global site tag (gtag.js) - Google Analytics