注册 登录
编程论坛 C语言论坛

建立栈

Z1020 发布于 2020-10-29 20:36, 1830 次点击
只初始化栈编译通过,但是exe会停止运行是为什么啊?
#include<stdio.h>
#include<stdlib.h>
typedef struct node{
    int data;
    struct node *next;
}node,*linkList;
int chushi(linkList *l);
int main(){
    int a,b;
    double ans;
    char temp;
    linkList *l;//指针的指针便于函数传递
    linkList top;
    chushi(l);
    top->next=(*l);
    while(temp!='\n')//scanf,getchar,gets的区别?
    {
        scanf("%c",&temp);
        if(temp>=0&&temp<=9)
        {
//            jinzhan(top,temp);
        }
    }
    return 0;
}
//初始化
int chushi(linkList *l){
     (*l)=(linkList)malloc(sizeof(node));
     (*l)->next=NULL;
    return 0;
}
3 回复
#2
rjsp2020-10-29 21:14
第一句好像就是错的
linkList *l;//指针的指针便于函数传递
chushi(l);

我猜你想要的是
linkList l;//指针的指针便于函数传递
chushi(&l);
#3
Z10202020-10-31 21:14
回复 2楼 rjsp
对!就是这里错了,不过我还是没懂,为什么不能直接定义二级指针呢?是不是因为指针必须要指向一个地址才能使用,但是这样的话,为什么一级指针可以在没有定义结构体的情况下直接定义呢?
#4
Z10202020-10-31 21:16
回复 2楼 rjsp
还有就是为什么形参可以直接定义为二级指针呢?救救孩子吧大佬谢谢大佬
1