动态内存分配中的free()是释放的意思
释放是修改了申请的内存的使用状态,从可用变成不可用,里面的数据还在,但是使用权已经交还给系统
int *p = malloc(sizeof(int) * 10);
free(p);
free(p);
当我们对同一块内存进行多次释放的时候,会造成系统的崩溃,这种情况是过度释放造成的.
malloc申请内存之后,内存使用完,就free,这两个是成对出现的
当对一段内存free之后,根据地址还可以访问这段内存,但是内存的所属权已经不在我们手里,会出现崩溃的可能,这种情况称为野指针
野指针,过度释放和内存泄漏是常见的三种内存问题.编程时要多注意.