2009-08-04 130 views

回答

203

您需要添加:

#include <stdlib.h> 

此文件包含内置功能malloc声明。如果你不这样做,编译器会认为你要定义你自己的函数命名malloc和它警告你,因为:

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

+1对于消息的实际描述 – 2009-08-07 11:28:30

+5

术语nit:C中没有内置函数这样的事情。malloc只是标准C库中的函数。 – Jens 2012-10-13 14:55:45

28

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

15

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

#include <stdlib.h> 

如果不包括此头文件,该功能是不知道的编译器。所以它认为它是未声明的。

10

养成了在帮助中查看功能的习惯。

C的大部分帮助都是在unix手册页上建模的。

man malloc

给出了相当有用的结果。

googling man malloc会告诉你我的意思。

当然在unix中,你也可以得到apropos相关的东西。

相关问题