标题:内存报错问题,是否有一个节点是空的啊
取消只看楼主
紫夜使然
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-9-30
结帖率:0
已结贴  问题点数:5 回复次数:0 
内存报错问题,是否有一个节点是空的啊
#include"stdio.h"
#include "malloc.h"
#include "stdlib.h"
#define ok 1
#define NULL 0
typedef    int Status;
typedef   int Elemtype;
typedef struct lnode{

    Elemtype a;
    struct lnode *next;
}lnode;

lnode *creat(void)
{
    lnode *head ,*p;
    head=(lnode *)malloc(sizeof(lnode));
    p=head;
    p->next=(lnode *)malloc(sizeof(lnode));
    p->a=2;
    p=p->next;
    p->next=(lnode *)malloc(sizeof(lnode));
    p->a=4;
    p=p->next;
    p->next=(lnode *)malloc(sizeof(lnode));
    p->a=31;
    p->next=NULL;
    return head;
}

//********************

Status destory (lnode *l){

    lnode *p=l,*q=l->next;

    for( ;p!=NULL; q=q->next)
    {
       free(p);
       p=q;
    }
    return ok;
}



void  show(lnode *head)                  //s1:接收头结点
{                                      
   lnode *p;                             //s2:定义一个指针
   p=head;                               //s3:将头结点传给指针p
   for(;p;p=p->next)                     //s4:判断节点是否为空,节点下移
   printf("%d    ",p->a);              //s5:输出节点内容
}





void main()
{
   
    lnode *head;
    head=creat();
   

    show(head);
    destory(head);
}

内存报错是什么原因啊?帮解决下,谢谢啦!
搜索更多相关主题的帖子: include next 
2012-09-30 09:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-382357-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.758263 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved