【发布时间】:2017-03-25 18:00:58
【问题描述】:
int main()
{
int *ptr = (int*)calloc(10,sizeof(int));//allocating memory for 10 integers
ptr = realloc(ptr,20*sizeof(int)); //reallocating the memory for 20 integers
free(ptr);
return 0;
}
最初ptr保持内存包含零,但新创建的内存包含零或垃圾值。
如果出现零,realloc 如何知道 ptr 是使用 malloc 或 calloc 创建的天气。
【问题讨论】:
-
代码不正确。阅读
realloc的手册页(这也将回答您的问题)。您应该至少自己一些努力。 -
哦,现在它是正确的。是时候更新我的答案了:)
-
我必须说我很难理解。但由于 OP 实际上改进了拼写错误,我很乐意这样做。
标签: c dynamic-memory-allocation realloc