双链列表中的结构内部结构

时间:2018-11-30 10:28:32

标签: c struct linked-list

我想创建一个双向链表。在节点中,此数据必须位于:姓名,姓氏,部门,等级。 我的结构是

typedef struct DATA{
    long Number;
    char name[30],lastname[30],department[50];
    int grade;
}DATA;

struct DATA* data;
typedef struct node{
    DATA data;
    struct node* next;
    struct node* prev;
}node;

struct node* start=NULL;

我想与

联系
struct node* CreateNode(int number, char name1[30], char lastname1[30], char department1[50])
{
    struct node* newNode = (struct node*)malloc(sizeof(struct node));
    data->Number=number;
    data->name[30]=name1[30];
    data->lastname[30]=lastname1[30];
    data->department[50]=department1[50];
    newNode->next=NULL;
    newNode->prev=NULL;
    return newNode;
}

void SonaEkleme(int number, char name1[30], char lastname1[30], char department1[50])
{
    struct node* addData = CreateNode(number, name1, lastname1, department1);

    if (start==NULL) 
    {
        start=addData;
    }
    else
    {
        struct node* temp=start;
        while(temp->next!=NULL)
        {
            temp=temp->next;
         }
         addData->prev=temp;
         temp->next=addData;
    } 
}

但是无法添加新节点。如何在双向链表节点中再添加一个数据?

1 个答案:

答案 0 :(得分:0)

我认为您正在将temp的内容与temp本身混合在一起!

*temp=temp->next;