#include
int main()
{
int a=520;
int *p=NULL;
printf("%p %p\n",p,*p);
printf("%d %p",&a,&a);
}
为什么有第六行时第七行不打印
而删去第六行时第七行顺利打印
当指针无效的时候,*p会尝试读取不存在的内存,导致程序崩溃退出
不知道你这个问题是否已经解决, 如果还没有解决的话://入栈
//成功返回true 失败返回false
bool stack_push(struct stack *ps, int data)
{
//判断栈是否已满
if(is_full(*ps))
{
printf("入栈失败,栈已满!\n");
return false;
}
//正确入栈操作
ps->m_space[ps->count] = data;
(ps->count) ++;//记录使用个数
return true;
}
回答:没有给出第六行代码,无法确定具体问题所在。请提供第六行代码以便解决问题。