首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

什么导致小弟我free报错

2012-02-08 
什么导致我free报错?typedefstructfile_tnode{file_t*fileintfd//文件标识符intcount//文件用户数struc

什么导致我free报错?
typedef   struct   file_tnode
{
file_t   *file;
int   fd;//文件标识符
int   count;//文件用户数
struct   file_tnode   *next;
}gfile_tnode;
typedef   gfile_tnode   *pgfile_tnode;

加了这三句话(fspgfile_tnode是pgfile_tnode类型,file是一个结构体指针)
fspgfile_tnode-> file   =   file;
fspgfile_tnode-> fd   =   fd;
fspgfile_tnode-> count   =   1;
这样赋值后结构体
free(file);
file   ==   NULL;
free(fspgfile_tnode);
fspgfile_tnode   ==   NULL;
出错
linux下gcc调试出现问题提示(corrupted   double-linked   list)
我基本可以确定是在那三句话位置出错。就是不知道怎么回事??
谢谢大家帮我看看




[解决办法]
还有
file == NULL;
fspgfile_tnode == NULL;
你这是赋值还是是什么判断的意思???
[解决办法]
用malloc申请空间了吗?
[解决办法]
要看你怎么创建的对象阿,如果你用file_t* p = new file_t;的话,用free当然有问题了。
[解决办法]
指针指向的空间是否存在,是否为已经释放的空间

热点排行