我有char []这样
char string[] = "Hello world !!!";
当我试图重新分配它的内存时,我收到错误
realloc(string, 50); // error here
答案 0 :(得分:3)
您只能realloc
/ malloc
/ calloc
编辑realloc
件事。 char
数组不是任何一个,所以在这种情况下你得到错误是正常的。
答案 1 :(得分:3)
除非ptr为NULL,否则必须通过先前调用malloc(),calloc()或realloc()
返回
您违反了标准,因此您将获得未定义的行为奖励。
答案 2 :(得分:0)
realloc(string, 50);
realloc()
的参数,即string
应该通过malloc()
,calloc()
或realloc()
获取,如果不为空