现在我的代码看起来像这样
#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语言,正确使用包括警卫所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)