【发布时间】:2012-02-25 21:16:18
【问题描述】:
我猜malloc和goto的关系有问题。或者,我猜这里发生了一些内存浪费或内存损坏。希望,有人可以指出我的确切错误。 当我编译它并没有给我任何错误,但是我的前辈坚持认为我有错误。
#define FINISH() goto fini;
BOOL Do()
{
BOOL stat;
UINT32 ptr;
int err;
ptr = (UINT32)malloc(1000);
free((void*)ptr);
fini:
return stat;
}
【问题讨论】:
-
#define FINISH() goto fini;上帝保佑 -
请不要使用
goto。请不要将goto隐藏在宏中。 -
这段代码能编译吗?我认为不会。
-
为什么给它一个-1,对于不知道如何使用指针类型转换的人或初学者来说,这是一个非常好的点。
-
这是IOCCC的条目吗?
标签: c pointers compiler-construction malloc goto