关于#c语言#的问题,请各位专家解答!


//LinkStack
#include<cstdio>
typedef struct LinkStack{
    int data;
    struct LinkStack* next;
}LinkStack;
void push(LinkStack* s,int e){
    LinkStack* p = new LinkStack;
    p->data = e;
    p->next = s;
    //改变栈顶元素
    s = p;
}
void top(LinkStack* s,int& t){
    if(s){
        t = s->data;
    }
}
void pop(LinkStack* s,int& t){
    if(s){
        LinkStack* p = s;
        t = p->data;
        s = s->next;
        delete p;
    }
}
int main(){
    LinkStack* s = NULL;
    push(s,5);
    printf("%d",s->data);
    push(s,9);
    printf("%d",s->data);
    int t;
    pop(s,t);
//    printf("%d\n",t);
//    return 0;
}

push函数是不行的。指针参数实现不了传入参数指针地址修改