内存、指针相关
当程序运行出现退出错误为以下任意:(xxxxxxxxxx为地址)
- free():invalid pointer: xxxxxxxxx
- malloc(): memory corruption: xxxxxxxxxx
- 直接提示 段错误
- corrupted size vs. prev_size: xxxxxxxxxx 意思就是内存溢出
这些都是和内存分配有关的错误,多半就要考虑以下几点了:
- memcpy() , memset() 等函数执行时给定的长度,即字节数 过长造成的溢出
- 在定义指针之后要么分配给其内存(new 或malloc),要么将其指向NULL。
- 同时记住如果分配内存最后要记得用free或者delete释放内存,并最好将这个指针指向NULL,因为网上有资料说free和delete只是释放内存,并没有销毁指针,很容易就成为了野指针。