链表的建立

#include <stdio.h>

#include <stdlib.h>

#define null 0

typedef struct snode

{

char *name;

char *no;

int score[5];

}typedefdata;

typedef struct node

{

typedefdata data;

    struct node *next;

}linklist;
linklist *insert_new()

{

char flag;

int x;

char *na;

char *num;

int grade[5];

linklist *head,*rear,*p;

head = (struct node*)malloc(sizeof(linklist));//头节点的空间分配

rear = head;//头尾相连进行初始化

do{//do-while语句保证至少进行一次。

printf("name:");

scanf("%s",&na);

printf("No.:");

scanf("%s",&num);

printf("yuwen_grade:");

scanf("%d",&grade[0]);

printf("shuxue_grade:");

scanf("%d",&grade[1]);

printf("yingyu_grade:");

scanf("%d",&grade[2]);

printf("zhengzhi_grade:");

scanf("%d",&grade[3]);

printf("tiyu_grade:");

scanf("%d",&grade[4]);

p = (struct node*)malloc(sizeof(linklist));

p->data.name = na;

p->data.no = num;

for(x=0;x<5;x++)

p->data.score[x] = grade[x];

rear->next = p;

rear = p;

printf(" continue?q for quit!");

getchar();

scanf("%c",&flag);

}while(flag != 'q');

rear->next = null;

return (head);

}
for(x=0;x<5;x++)

p->data.score[x] = grade[x];

 p->next = head->next;

 head->next = p;

printf(" continue?q for quit!");
int main()

{

    insert_new();

return 0;

}

原文地址:https://www.cnblogs.com/lcm1094300616/p/5365178.html