int main(void) {
int* p = (int*) malloc(sizeof(int));
int* q = (int*) malloc(sizeof(int));
*p = 10;
*q = 20;
p = q;
printf(“%d %d”, *p, *q);
free(p);
free(q);
}
为什么上面的代码包含使用后免费错误?免费(p)和免费(q)后没有更多的表达。显然我们不再使用它们了!免费错误后使用?
也许行'p = q;'应该是'* p = * q;'? – 2009-11-05 01:52:05