一个简单的c语言问题

请大伙帮忙看下为什么会报错
下面是我写的出栈函数
1.int *p=0;为啥会报错呢,不是将p指针指向的位置赋予0吗
2.c语言怎么给变量赋空值
pop(top)
{
*top = NULL; //报错
top++;
return top;
}
编译器提示error C2100: illegal indirection

Top 是什么指针 如果是结构体会有问题。如果是整形null改为0 看看

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^