如何创建此类型链接列表

时间:2011-08-09 19:36:13

标签: c

// this is program designed to create Cd data base

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

//=============================================
//LINKED LIST USED FOR CREATING THE DATABASE CD
//=============================================
struct CD_type_node
{
   int CDnum;
   char title[20];
   int CDcount;
   struct CD_type_node* next;
};

struct Artist_type_node // to create a linked list of CD's
{
   struct CD_type_node CD_data;
   char Artist_name[20];
   struct Artist_type_node* next;
};

这是项目的一部分:
1)创建具有以下字段的CD_type_node结构:

  • CD编号
  • CD标题
  • CD计数
  • 指向CD_type_node的指针指向下一张CD。

2)创建一个Artist_type_node结构,其中包含以下字段:

  • 艺术家姓名
  • 指向CD_type_node的指针,使您可以创建链接列表 用于CD。

3)在main中,创建一个Artist_type_nodes类型的数组,最多可存储100个元素。

因此,您的数据库将是一个由100位艺术家组成的阵列,其中每位艺术家都有一张CD列表。基本上,每个艺术家的名字和指向CD列表的指针都将存储在Artist_Array中。


当我编译它时它告诉我:struct CD_type_node没有元素Artist_name

如何制作正确的链表以及如何创建数组

3 个答案:

答案 0 :(得分:1)

  

当我编译它时它告诉我:struct CD_type_node没有   element Artist_name

嗯,从您展示的内容CD_type_node确实没有名为Artist_name的字段。也许您CD_type_nodeArtist_type_node对象混淆

答案 1 :(得分:0)

将字符串Artist_name添加到CD_type_node,或添加指向父Artist_type_node的指针,以便节省内存。现在要实现这一点,首先要声明Artist_type_node,然后实现CD_type_node,然后编写Artist_type_node的实现。要使用此结构,可以说您正在查看某些CD_type_node并想要艺术家名称,然后创建一个新的Artist_type_node并为其指定指针。读取该值并删除新的Artist_type_node或者拥有一些全局的Artist_type_node并继续切换其指针 - 但这是不好的做法。

答案 2 :(得分:0)

// this is program designed to create Cd data base

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

//=============================================
//LINKED LIST USED FOR CREATING THE DATABASE CD
//=============================================
struct CD_type_node
{
   int CDnum;
   char title[20];
   int CDcount;
   struct CD_type_node* next;
};

struct Artist_type_node // to create a linked list of CD's
{
   struct CD_type_node* CD_node;
   char Artist_name[20];
};

int main()
{
    struct Artist_type_node artists[100];
}

按我所示更改您的Artist_type_node。

编辑:请务必仔细阅读,因为它解释了在作业中这样做。