我正在做一些 C 编码,在阅读了一些 C 代码后,我注意到有像
这样的代码片段char *foo = (char *)malloc(sizeof(char) * someDynamicAmount);
所以我想问一下为char数组分配内存的C-ish方法是什么?使用 sizeof(char)
并假设代码可以针对任何标准更改进行 future 验证,还是省略它并直接使用数字?
最佳答案
更多的 Cish 方式将是
char* foo = malloc(someDynamicAmount * sizeof *foo);
引用变量而不是类型,因此不需要类型。 并且没有强制转换 malloc 的结果(这是 C++ 风格的)。
关于c - 如果 char 按标准为 1,为什么要写 `sizeof(char)`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7243872/