【发布时间】:2014-02-26 13:09:13
【问题描述】:
我有 char[] 这样的
char string[] = "Hello world !!!";
当我尝试重新分配它的内存时,我遇到了错误
realloc(string, 50); // error here
【问题讨论】:
标签: c undefined-behavior realloc
我有 char[] 这样的
char string[] = "Hello world !!!";
当我尝试重新分配它的内存时,我遇到了错误
realloc(string, 50); // error here
【问题讨论】:
标签: c undefined-behavior realloc
你只能realloc 事情你malloc/calloc/realloc'ed。 char 数组不是这些东西,所以在这种情况下出现错误是正常的。
【讨论】:
除非 ptr 为 NULL,否则它一定是由先前对 malloc()、calloc() 或 realloc() 的调用返回的
您违反了标准,因此您将获得未定义行为的奖励。
【讨论】:
realloc(string, 50);
realloc() 的参数,即string 应通过malloc()、calloc() 或realloc() 获得,如果不为空
【讨论】: