【发布时间】:2018-08-19 05:08:44
【问题描述】:
这是我的代码:
int *p;
p=4;
printf("p is %p\n",p);
free(p);
//need p=NULL but I don't
int *q;
q=5:
printf("q is %i",*q);
然后错误来了。 我只是需要解释一下。
【问题讨论】:
-
忽略错字(
Int应该是int——大小写很重要),p 是一个指向整数的指针。然后你给它分配地址 4。但是 4 不是 int 的地址,也不是你分配的,所以你不能释放它。