我的c代码在c-free上运行时崩溃但在borland上工作正常吗?

时间:2012-12-01 12:18:34

标签: c sigsegv turbo-c

在borland c 3.1中运行我的代码时,它工作正常,但在c-free上运行时,它在此行崩溃:while(ptr1->pright) { ptr1=ptr1->pright; } 给出SIGSEGV,任何合乎逻辑的原因?

2 个答案:

答案 0 :(得分:1)

您可能正在访问数组范围之外的内存或您未分配的内存。因此,您触发了未定义的行为,因此几乎任何事情都可能发生,包括崩溃甚至显然正常工作。

答案 1 :(得分:0)

创建/初始化链接列表的节点时,请确保将节点的成员pright显式初始化为NULL