不知道怎么得到栈顶指针
#include <stdio.h>
#include <stdlib.h>
typedef struct Stack{
int elem;
struct Stack *next;
}stack;
//初始化
stack* init(){
stack *s=(stack*)malloc(sizeof(stack));
s->elem=NULL;
s->next=NULL;
return s;
}
//压栈
stack* push(stack *s,int val){
stack *a=(stack*)malloc(sizeof(stack));
a->elem=val;
a->next=s->next;
s->next=a;
}
//出栈
int pop(stack *s){
stack *t;
t=s->next;
s->next=s->next->next;
printf("%d ",t->elem);
return t->elem ;
}
int main(){
stack *s= init();
push(s,1);
push(s,2);
pop(s);
pop(s);
return 0;
}
383



被折叠的 条评论
为什么被折叠?



