建立学生结构体
#include<stdio.h>
#include<string.h>
#include<myhead.h>
typedef struct
{
int age;
int score;
char name[20];
}student;
typedef struct node
{
student data;
struct node*next;
}Node;
typedef struct
{
int len;
Node * top;
}stack,*pstack;
pstack creat_stack()
{
pstack p= malloc(sizeof(stack));
p->len=0;
p->top=NULL;
return p;
}
int push_stack(pstack L,int e)
{
Node * p=malloc(sizeof(Node));
int i;
for(i=0;i<e;i++)
{
printf("输入入栈的第%d个学生信息\n",i+1);
scanf("%d%d%s",&(p->data.age),&(p->data.score),p->data.name);
p->next=L->top;
L->top=p;
L->len++;
}
printf("入栈成功\n");
return 0;
}
int pop_stack(pstack L)
{
Node *Q;
Q=L->top;
printf("出栈的学生信息:%d\t%d\t%s\n",Q->data.age,Q->data.score,Q->data.name);
L->top=Q->next;
free(Q);
Q=NULL;
L->len--;
}
int main(int argc, const char *argv[])
{
pstack L=creat_stack();
push_stack(L,5);
pop_stack(L);
return 0;
}