C中的realloc问题

用户1341676

我在努力分配...

strucType mkBggr (structType x, char ch) { 
    x = realloc(x, 100);
    printf("%d", sizeof(x));
}

我想这应该打印出值100,但它会打印8。

显然,它与指针有关,但我不知道该怎么办。我在x的前面添加了* s和&s,但似乎不明白。任何帮助表示赞赏!

弗兰克·H

它输出值8,因为您要求的是指针(x)的大小。您无法打印分配的内存块的大小-您必须自己进行跟踪。

这就是为什么我不建议使用realloc的原因。我看到的所有询问它的人都在错误地使用它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章