在C中使用动态内存分配创建数据库

时间:2011-01-05 07:21:10

标签: c

我是编程新手,对链表没什么了解...帮我编写程序 -

从用户那里获取数据并创建数据库。

          a>Data: Name, Age, Date of birth
          b>Memory for each entry should be dynamically created.

我创造了一个结构 - struct database {     char name [25];     int age [5];     int dob [10];     struct database * next;     }; 告诉我现在该怎么办......

2 个答案:

答案 0 :(得分:0)

struct database {
     char name[25];
     int age[5];
     // in my opinion you should only keep dob, since age would have to be constantly updated
     int dob[10]; 
     struct database *next; 
     } TCel, *TList, **Alist;

基本思想是,无论何时创建新的cel,都要使用“next”指针将其链接到链表中。例如,您可以在列表末尾添加一个新单元格:

AList InsEnd(AList aL, Info e)  
{ 
    TLista aux;
    // allocate cel and set the information inside it
    aux = AlocCel(e);                     
    if (!aux) return aL;               
    while (*aL != NULL) 
       aL = &(*aL)->next; 
    // linking the node
    *aL = aux;                            
    return aL;                            
}

TList InsEnd2(TList aL, Info e)
{
    TLista aux;
    aux = AlocCel(e);
    if(!aux) return aL;
    while(aL->next != NULL)
        aL = aL->next;
    // linking the node
    aL->next = aux;
    return aL;
}

答案 1 :(得分:0)

我不打算给你代码,但这些链接一定会帮到你。

http://en.wikipedia.org/wiki/Linked_list

http://richardbowles.tripod.com/cpp/linklist/linklist.htm

最好还是回过头来参考这本书(正如大卫在评论中指出的那样)