gpt4 book ai didi

c - C 中的错误 malloc

转载 作者:太空宇宙 更新时间:2023-11-04 05:21:24 24 4
gpt4 key购买 nike

我不确定这有什么问题,它说 incompatible implicit built in func好吧,我确实包含了 string.h 文件,但它仍然给我一个错误

 int name_read;
int name_bytes = 100;
char *name;

printf("Please enter name:\n");
name = (char *)malloc(name_bytes + 1);
name_read = getline(&name, &name_bytes, stdin);

最佳答案

您需要 #include <stdlib.h>获得 malloc 的正确声明.

还有 sizeof(name_bytes) + 1看起来可疑;这将为您提供 5 个字节的内存,而不是您可能预期的 101 个。

终于不用对malloc的返回值进行强制转换了在 C 中,因为它返回一个 void* .

#include <stdlib.h>
/* ... */
int name_bytes = 100;
char* name = malloc(name_bytes + 1);

关于c - C 中的错误 malloc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5439838/

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