对于释放一块内存的一知半解,希望高手不吝赐教!! 谢谢!!

Silenthunter Silenthunter 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我在解压缩算法中碰到这句话
*(t = &(q->v.t)) = (struct huft *)NULL;
执行的时候出现了为处理的异常,访问冲突。我对一些知识一知半解,似乎听说过编译器回收一块内存的时候判断该处内存的结尾之类的,不知道这个说法的详细内容是什么,怎么理解。

另外一个最现实而且迫切的问题就是这个算法代码在很多开源项目里面都使用了,肯定不会有什么问题,那么请问是不是不编译器的问题呢?应该如何去改呢?? 谢谢!

附:结构定义
huft_t ** t;
register huft_t *q;
typedef struct huft
{
unsigned char e; /* number of extra bits or operation */
unsigned char b; /* number of bits in this code or subcode */
union {
unsigned char n; /* literal, length base, or distance base */
struct huft *t;/* pointer to next level of table */
} v;
}huft_t;
...全文
评论 9
收藏 已收藏
分享
返回顶部
Silenthunter
C语言 70,039 成员 243,237 内容