我无法使用malloc和免费使用stdio.h库

时间:2017-05-13 10:05:24

标签: c

我有以下问题/问题: 我目前正在C中从事视觉工作室工作 我创建了一个使用函数malloc并且免费的程序,我确信我使用它们很好,但是当我尝试编译时,我得到以下错误:

Error C3861 'free': identifier not found
Error (active)  identifier "free" is undefined  
(same errors for malloc)

我所做的唯一包含声明是stdio.h(我通常添加它,它适用于这些函数)

我添加了stdlib并且问题已经解决了,但是当我为这项工作服务时,我可能会因为包含我们目前无法使用的图书馆而被降级,有人可以告诉我为什么这些功能不会被删除只使用stdio.h

2 个答案:

答案 0 :(得分:3)

<stdlib.h>是调用mallocfree时要包含的正确标头。事实上,在调用<stdlib.h>malloc时,必须包括free(直接或间接)是正确的。

有很多理由说明为什么它可能曾经为你工作过一次,即使你没有。没有看到旧的代码,我不能说为什么。别担心。在致电<stdlib.h>malloc时,请始终加入free

答案 1 :(得分:0)

malloc和free在stdlib.h下定义。所以不包括它你的程序就不会工作。