int main()
{
int *ptr, **ptr1;
ptr = (int*)malloc(sizeof(int));
ptr1 = (int**)malloc(sizeof(int));
free(ptr);
*ptr = 12345;
ptr1 = &ptr;
//free(ptr);
//**ptr1 = 23456;
printf("%d \n", **ptr1);
system("pause");
return 0;
}
< p> 当内存已经被释放时,*ptr
如何存储值 12345
?所以现在ptr
应该指向 garbage
。为什么会发生这种情况?
free()
的指针设置一个新的目标值。如果没有,请分配 NULL。 - harper