free问题求解
骑着蜗牛学 2016-12-16 11:49:28 int main(int argc, const char * argv[]) {
int *i = (int*)malloc(sizeof(int));
*i = 1;
int* p = i;
free(i);
*p = 5;
*i = 2;
printf("%d", *p);
return 0;
}
调用free后,malloc分配的内存被释放了,那i和p都指向这块内存,释放后,都可以正常操作,比如此时i=NULL,但是p也可以正常操作。
想问一下,free释放的到底是什么,free后不应该i,p都不可以了吗?