首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

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

2012-12-18 
简易内存数据库(二)保存一组数据还有一件事情我需要重申一下:我们在保存一组数据时会使用以下三种方式:静

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

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

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

?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(数组中元素的大小)获得数组元素个数。

热点排行