c语言加标题函数,关于标题:C语言,正确使用包含警戒

我正在尝试创建头文件(其中将包含我为AVL树编写的函数),但是我遇到了一个小问题,并且对include Guard的语法有误解。

现在我的代码看起来像这样

#ifndef STDIO_H

#define STDIO_H

#endif

#ifndef STDLIB_H

#define STDLIB_H

#endif

#ifndef CONIO_H

#define CONIO_H

#endif

问题是,我认为它仅包含。 当我尝试使用malloc时,它说malloc是未定义的,即使我包括了stdlib。

根据http://www.cprogramming.com/reference/preprocessor/ifndef.html的介绍,如果我理解正确,ifndef会检查是否定义了令牌,如果令牌不是,它将定义我在ifndef之后直到#endif编写的所有内容。 所以我的代码应该工作。

是否定义了stdio? 没有。 所以定义它。 万一。 是stdlib定义的? 没有。 所以定义它。 万一。 是conio定义的吗? 没有。 所以定义它。 万一。 我没看到问题。

如果要添加这3个标题,正确的语法是什么?

您的代码没有include任何东西。 您是否认为可以使用包含防护而不是包含?

#define然后做什么?

您不应该为标准标头提供包含防护。 您提供它们以围栏标头。 而且您不#include-进行任何操作,因此我只能想象警告您的"未声明的函数xxxx返回int"的数量。

因此,如果在我的avltree.h中包含stdio

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值