如果我使用 malloc 在我的代码中:

int *x = malloc(sizeof(int));

我收到此警告 gcc:

new.c:7: warning: implicit declaration of function ‘malloc’  
new.c:7: warning: incompatible implicit declaration of built-in function ‘malloc’
有帮助吗?

解决方案

您需要添加:

#include <stdlib.h>

该文件包含内置函数的声明 malloc. 。如果你不这样做,编译器会认为你想定义自己的函数,名为 malloc 它警告你是因为:

  1. 你没有明确声明它
  2. 已经有一个同名的内置函数,它的签名与隐式声明的函数不同(当隐式声明函数时,其返回和参数类型被假定为 int, ,与内置的不兼容 malloc, ,这需要一个 size_t 并返回一个 void*).

其他提示

您有没有做过#include <stdlib.h>

您需要包括声明函数的头文件,例如:

#include <stdlib.h>

如果您不包括此头文件,该函数是未知的给编译器。因此将其视为未申报。

请在帮助寻找你的功能了一种习惯。

对于C大多数帮助是仿照UNIX手册页。

人的malloc

给出非常有用的结果。

谷歌搜索的人的malloc会告诉你我是什么意思。

当然在UNIX中,你也得到中肯对于那些相关的东西。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top