c语言堆栈,vscode运行啥也不显示


#include<stdio.h>
#define maxsize 10
typedef struct Stack
{
    int data[maxsize];
    int top;
}*stack;
int main(void)
{
    stack p;
    p->top=-1;
    void push(stack p,int item);
    int pop(stack p);
    while(1)
    {
        int temp,pushitem,popitem;
        printf("选择操作:\n1:入栈\n2:出栈\n3:退出\n");
        scanf("%d",&temp);
        if(temp==1)
            {
                printf("请输入入栈的值:\n");
                scanf("%d",&pushitem);
                push(p,pushitem);
            }
        else if(temp==2)
            {
                if(pop(p)!=-999)
                    printf("%d\n",pop(p));
                else
                    printf("堆栈空!\n");
            }
        else if(temp==3)
            break;
        else
            printf("输入错误!\n");
    }
    return 0;
}
//入栈
void push(stack p,int item)
{
    if(p->top==maxsize-1)
        {
            printf("堆栈满!\n");
            return;
        }
    else
        {
            p->data[++(p->top)]=item;
            return;
        }
}
//出栈
int pop(stack p)
{
    if(p->top==-1)
        {
            printf("堆栈空!\n");
            return -999;
        }
    else
        {
            return (p->data[(p->top)--]);
        }
}

img


你这是在进行声明吗?
函数调用不是这么着用的呀