gpt4 book ai didi

c - 如果 char 按标准为 1,为什么要写 `sizeof(char)`?

转载 作者:太空狗 更新时间:2023-10-29 16:18:45 25 4
gpt4 key购买 nike

我正在做一些 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com