当前位置: 代码迷 >> C语言 >> 程序运行时内存为不可“read”,请问如何解决
  详细解决方案

程序运行时内存为不可“read”,请问如何解决

热度:319   发布时间:2008-05-10 10:47:09.0
程序运行时内存为不可“read”,请问如何解决
在调试程序时,出现黑色对话框后,在输入文件名后,出现了一个应用程序错误对话框说该内存不能“read”,然后在debug调试中箭头指向了以下函数中的while那句,请问怎么改呢?  是否是析放链表程序编写不正确?请求高手指点!                           
void freeH1(struct H1 *H1header)
{
    struct H1 *p;
    struct H1 *q;

    p=H1header;
    while(p->next!=NUL)
    {
        q=p->next;
        p->next=q->next;
        free(q);
    }
    free(H1header);
}
搜索更多相关的解决方案: read  内存  程序  运行  

----------------解决方案--------------------------------------------------------
看样子LZ是想释放链表。
这样既可
p=head;
current=p;
while(current!=NULL)
{
    p=current->next;
    free(current);
    current=p;
}
----------------解决方案--------------------------------------------------------
这样可以不?
q=p
while(p->next!=NUL)
    {
        p=p->next
        q->next=p->next;
        free(p);
    }
----------------解决方案--------------------------------------------------------
谢谢楼上的答复,我试试看
----------------解决方案--------------------------------------------------------
  相关解决方案