C语言,正确使用包括警卫

C语言,正确使用包括警卫,第1张

概述我正在尝试创建一个头文件(包括我为AVL Trees编写的函数),但我有一个小问题和对包含警卫的语法的误解. 现在我的代码看起来像这样 #ifndef STDIO_H#define STDIO_H#endif#ifndef STDLIB_H#define STDLIB_H#endif#ifndef CONIO_H#define CONIO_H#endif 问题是,我认为它只包括< 我正在尝试创建一个头文件(包括我为AVL Trees编写的函数),但我有一个小问题和对包含警卫的语法的误解.

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

#ifndef STdio_H#define STdio_H#endif#ifndef STDliB_H#define STDliB_H#endif#ifndef CONIO_H#define CONIO_H#endif

问题是,我认为它只包括< stdio.h>.当我尝试使用malloc时,它表示malloc未定义,即使我包含了stdlib.

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

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

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

解决方法 如果包含文件被多次包含,则包含防护用于防止双重定义.

标准包含文件具有必要的包含防护,因此您不需要包含防护装置.

你的代码应该是:

#include <stdio.h>#include <stdlib.h>#include <conio.h>
总结

以上是内存溢出为你收集整理的C语言,正确使用包括警卫全部内容,希望文章能够帮你解决C语言,正确使用包括警卫所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1216197.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存