Rio*_*Rio 1 c c99 void-pointers
当我们处理前一个或下一个为null的指针时,我正在使用双链表并获得有关边缘情况的奇怪性能.GDB返回以下错误:
Program received signal SIGSEGV, Segmentation fault.
0x0804a9c1 in DLinkDelete (delete=0xd8c9d33c) at test.c:213
213 if (prevdl && prevdl->next)
(gdb) p prevdl
$39 = (DoubleLink *) 0xdadadada
(gdb) p prevdl->next
$40 = (void *) 0x0
Run Code Online (Sandbox Code Playgroud)
DoubleLink是一个具有以下格式的结构:
typedef struct
{
void *next;
void *prev;
} DoubleLink;
Run Code Online (Sandbox Code Playgroud)
为什么会出现分段错误?
| 归档时间: |
|
| 查看次数: |
294 次 |
| 最近记录: |