#ifndef #define #endif

来源:互联网 发布:班徽设计软件 编辑:程序博客网 时间:2024/06/01 09:14
在头文件中实用#ifndef #define #endif能避免头文件的重定义。
方法:例如要编写头文件t.h
在头文件开头写上两行:
#ifndef _T_H
#define _T_H//一般是文件名的大写
头文件结尾写上一行:#endif,这样一个工程文件里同时包含两个test.h时,就不会出现重定义的错误了。
分析:当第一次包含t.h时,由于没有定义_TEST_H,条件为真,这样就会包含(执行

)#ifndef _T_H和#endif之间的代码,当第二次包含t.h时前面一次已经定义了_T_H,条件为假,#ifndef _T_H和#endif之间的代码也就不会再次被包含,这样就避免了重定义了。主要用于防止重复定义宏和重复包含头文件

头文件被重复引用引起的后果:
有些头文件重复引用只是增加了编译工作的工作量,不会引起太大的问题,仅仅是编译效率低一些,但是对于大工程而言编译效率低下那将是一件多么痛苦的事情。
有些头文件重复包含,会引起错误,比如在头文件中定义了全局变量(虽然这种方式不被推荐,但确实是C规范允许的)这种会引起重复定义


原创粉丝点击