在写程序的时候,老是报错,说我free()函数错了。之前在学习的时候,知道是用了malloc 之类的时候,要用free()释放掉。为什么会出错呢,在网上搜了一下,说是程序越界。
比如:我这样 char *p = (char *p) malloc(5*sizeof(char));
但是我使用p的时候,用了大于5的空间,如 strcpy(p, "HelloWorld!");
这个时候再释放的时候就会碰到free出错的问题。所以以后使用的时候一定要注意分配足够的空间
大家可以参考下面的这个链接
http://blog.163.com/w_pfwl/blog/static/71965455200910693024876/