海滩超人 2021-01-12 19:40 采纳率: 0%
浏览 16

为什么这个用数组实现的顺序栈在主函数种定义后无法初始化成功?

为什么这个数组实现的顺序栈无法初始化成功?运行完就是一个黑屏?

#include<stdio.h>
#define maxsize 100
typedef char datatype;
 
//使用数组来实现实现顺序栈.
typedef struct a
{   datatype data[maxsize];
    int top;
}Stack;
 
//初始化栈
void init(Stack *s)
{   
    s->top=-1; 
}

int main(){
    Stack *a;
    init(a);
    printf("初始化成功");
    return 0;

 

  • 写回答

2条回答 默认 最新

  • great-sakya 2021-01-12 20:19
    关注

    #include<stdio.h>
    #include<malloc.h>
    #define maxsize 100
    typedef int datatype;
     
    //使用数组来实现实现顺序栈.
    typedef struct a
    {   datatype data[maxsize];
        int top;
    }Stack;
     
    //初始化栈
    void init(Stack *s)
    {   
        s->top=-1; 
    }

    int main(){
        Stack *a;
        a=(Stack*) malloc (maxsize* sizeof(Stack));
        init(a);
        printf("初始化成功");
        return 0;

    评论

报告相同问题?