C语言动态生成结构体时出现未知警告

代码:#include<stdio.h>typedefstructLNode{intdata;structLNode*next;}*Link;intmain(){Link... 代码:
#include<stdio.h>
typedef struct LNode
{
int data;
struct LNode *next;
} *Link;
int main()
{
Link head=NULL;
head = (Link) malloc(sizeof(struct LNode));//这里的警告
head->data=5;
printf("%d\n",head->data);
return 0;
}
警告:
||=== Build file: "no target" in "no project" (compiler: unknown) ===|
D:\程序\typedef测试.c||In function 'main':|
D:\程序\typedef测试.c|13|warning: implicit declaration of function 'malloc' [-Wimplicit-function-declaration]|
D:\程序\typedef测试.c|13|warning: incompatible implicit declaration of built-in function 'malloc'|
||=== Build finished: 0 error(s), 2 warning(s) (0 minute(s), 0 second(s)) ===|
展开
 我来答
旷野行风
2017-03-15 · TA获得超过366个赞
知道小有建树答主
回答量:302
采纳率:33%
帮助的人:234万
展开全部
你没声明malloc, 应该添加引用

#include<stdlib.h>
追问
能否再详尽的解释一下,为什么没声明还可以使用呢?警告具体是什么意思呢
追答
c的隐式声明函数规则: 如果一个函数在使用前没有进行函数声明, 则在编译阶段, 由编译器自动添加一个返回值为int的函数声明, 也就是说, 你的代码在编译阶段, 编译器会默认添加一个声明:
int malloc();
然后在链接阶段, 由于没有对int malloc()函数进行定义, 会报ERROR
White_MouseYBZ
2017-03-15 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6654万
展开全部
请包含stdlib.h头文件。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式