关于栈初始化的代码问题~~~!
int main()
{
SqStack *pL;
InitStack(pL);
}
第一个是我写的,第二个是教科书上的,
问题是我的有segment fault,请问两个有什么区别。
为什么我的是错误的?不能用指针初始化栈吗?
[解决办法]
总之就是需要有一个对象实体才能操作
对象指针,要分配内存(实例)
int main()
{
SqStack *pL = (SqStack *)malloc(sizeof(SqStack));
InitStack(pL);
free(pL);
}
或者
int main()
{
SqStack pL;
InitStack(&pL);
}
[解决办法]
林锐的 《高质量c/c++ 编程》
[解决办法]
指针在赋值前不能使用。
[解决办法]
指针存地址, 如果存的是一个非法的内存地址, 那就等着悲剧的非法操作内存吧.