【发布时间】:2014-01-02 08:40:28
【问题描述】:
是
pointer = (int*)realloc(0, sizeof(int))
一个有效的表达式?
我觉得由于realloc的第一个参数是一个指针,这里是0(为操作系统保留的内存地址),这个语句不应该是一个有效的语句。有人可以评论声明的有效性吗?
【问题讨论】:
-
不要在 C 中转换
malloc(和朋友)的返回值 -
0 真的是操作系统保留的还是只是C的解释?
-
@Bathsheba:C 只是保证空指针比较等于 0。操作系统对地址 0 所做的任何事情显然都是特定于所述操作系统的。