C++链表的释放释放时程序停止运行

编了一个链表程序,在c++6.0环境下运行出错,急求高人指点。。拜托了_百度知道
编了一个链表程序,在c++6.0环境下运行出错,急求高人指点。。拜托了
#include&stdio.h&
#include&malloc.h&
#define NULL 0
#define LEN sizeof(struct student)
typedef struct student
char name[20];
char prize[10];
char order[2];
struct student *
我有更好的答案
prize); } p2-&next=NULL; return(head);}int main(){return 0;,&%c&,&p1-&gt,&quot,&p1-&%c&quot,&p1-&,&%f&#include&stdio.h&
char order[2];name,&p1-&score,&p1-&prize),&quot,&p1-& if(n==1)head=p1; else p2-&malloc.h&
struct student *};struct student *creat(void){ struct student * struct student *p1,*p2; n=0;%c&#include& p2=p1;
p1=(struct student*)malloc(LEN); scanf(&}/ scanf(&%ld&,&p1-&num,&p1-&,&%c&,&%f& head=NULL; while(p1-&num!=0) {n=n+1;#define NULL 0#define LEN sizeof(struct student)typedef struct student{
char name[20];
char prize[10];next=p1; p1=p2=(struct student*)malloc(LEN);%ld&
采纳率:47%
来自团队:
没有main函数
如果你会写“hello world”的经典入门程序,你就不会出这样的错可加q群:
为您推荐:
其他类似问题
链表的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。C++链表问题,当运行到清除链表时,运行错误,错误如图:谢谢各位指导一下_百度知道
C++链表问题,当运行到清除链表时,运行错误,错误如图:谢谢各位指导一下
Node *Temp_head=H
if (Temp_head==0) return:/&#47删除链表的代码是;
Node *TEMP_NODE=Temp_
Temp_head=Temp_head-&
delete TEMP_NODE;
while (Temp_head!=0);}// //前趋指针
Node *node是节点类class Node{
//声明list类为本类的友元类 private:
int D/节点数据
/清除链表的全部数据void list:
我有更好的答案
如果你这段代表出错,但不知道是不是循环链表,且其值是不是有效的NODE指针值?因此?即便不是循环链表,也不知道你的表尾是不是赋值为NULL(0)了另,不知道你的Head是哪里定义的,在哪里进行的赋值,不知道你建表时的代码是什么样子按你的程序,你建立的是个双向链表你的当前代码没有问题
不好意思,因为字数有限制,所以截了图,还请理解
有点问题,终于看出来了
for( int i=1;i&=10;++i)
//注意这里是分号,不是逗号,10+i会造成死循环,因此改成10第二:你的析构函数中会做Clear()操作因此,你不应该再调用 list1.Clear()了这样会造成重复释放内存,故会出错,先去掉这句!!
采纳率:75%
来自团队:
感觉你这个写的很诡异 我也不知道哪错了
你的 Node 只是双向链表的一个节点
你到底是想自己写个双向链表 还是直接用底层的链表呢...
析构函数中的 delete[] 注释掉。一般的程序都是在哪分配的内存,在哪释放,你的类内部没有为 Node&T&* 分配内存
我的类怎么写才能够为Node&T& *分配内存?
为您推荐:
其他类似问题
链表的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。关于链表内存释放
[问题点数:80分,结帖人qq3397965]
关于链表内存释放
[问题点数:80分,结帖人qq3397965]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
匿名用户不能发表回复!|写c++单链表的时候,运行到del函数.exe已停止工作了是怎么回事啊?求指导!_百度知道
写c++单链表的时候,运行到del函数.exe已停止工作了是怎么回事啊?求指导!
#include&iostream&
class node
node(int d=0)
next=NULL;
class chain
head=NULL...
我有更好的答案
&lt: } void del() {
if(num == 0) {
cout && & next = NULL; }};class chain {private : node *
} ~chain() { delall();
cout & 与del()没关系,是show()的问题
num--; p-&data &
} void insert(int d) {
node *p1 = new node(d);
p = p-&public !&
head = p1;
head = p1;
p1-&next = NULL;
num++; } void show() {
// node(int d = 0) { data =&&lt: chain() { head = NULL;num = 0; } void delall() {
while(p != NULL) {
cout & &!= NULL ) {
head = head-&
if(head != NULL) {
p1-&void main() { cin & endl#include &lt.insert(data); link.insert(2); link.show();class node {&next = }};iostream&
head = p-& &&
while( node *&quot.del()
采纳率:67%
为您推荐:
其他类似问题
单链表的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。c++delete释放链表的节点问题,悲剧了。
[问题点数:40分,结帖人qhgongzi]
c++delete释放链表的节点问题,悲剧了。
[问题点数:40分,结帖人qhgongzi]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
匿名用户不能发表回复!|}

我要回帖

更多关于 释放链表 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信