在borland c 3.1中运行我的代码时,它工作正常,但在c-free上运行时,它在此行崩溃:while(ptr1->pright)
{
ptr1=ptr1->pright;
}
给出SIGSEGV,任何合乎逻辑的原因?
答案 0 :(得分:1)
您可能正在访问数组范围之外的内存或您未分配的内存。因此,您触发了未定义的行为,因此几乎任何事情都可能发生,包括崩溃甚至显然正常工作。
答案 1 :(得分:0)
创建/初始化链接列表的节点时,请确保将节点的成员pright
显式初始化为NULL
。