Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我的c代码在c-free上运行时崩溃,但在borland上运行良好?_C_Segmentation Fault_Turbo C - Fatal编程技术网

我的c代码在c-free上运行时崩溃,但在borland上运行良好?

我的c代码在c-free上运行时崩溃,但在borland上运行良好?,c,segmentation-fault,turbo-c,C,Segmentation Fault,Turbo C,在borland c 3.1中运行我的代码时,它工作正常,但在c-free上运行时,它在以下行崩溃:while(ptr1->pright) { ptr1=ptr1->pright; } 给出SIGSEGV,有什么逻辑原因吗?您可能正在访问数组边界之外的内存,或者您没有分配内存。因此,您触发了未定义的行为,因此几乎任何事情都可能发生,包括崩溃,甚至工作正常。在创建/初始化链接列表的节点时,请确保显式地将节点的成员pright初始化为NULL您的代码几乎肯定存在内存问题,因此它表现出未定义的行为:它

在borland c 3.1中运行我的代码时,它工作正常,但在c-free上运行时,它在以下行崩溃:
while(ptr1->pright)
{
ptr1=ptr1->pright;
}

给出SIGSEGV,有什么逻辑原因吗?

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

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

您的代码几乎肯定存在内存问题,因此它表现出未定义的行为:它恰好在Borland上没有崩溃,但这纯粹是巧合。可能ptr1未初始化。问题在于构建/操作链表的代码。你应该检查一下(或者贴在这里)。