C语言头文件条件编译避免重复引用

条件编译:条件编译属于三种宏定义中的一种,条件指示符的最主要目的是防止头文件的重复包含和编译,例如:一个c文件包含同一个h文件多次,如果不加#ifndef宏定义,会出现变量重复定义的错误。        

         指令             用途

         #                  空指令,无任何效果
         #include     包含一个源代码文件
         #define       定义宏
         #undef        取消已定义的宏
         #if                如果给定条件为真,则编译下面代码
         #ifdef           如果宏已经定义,则编译下面代码
         #ifndef        如果宏没有定义,则编译下面代码
         #elif             如果前面的#if给定条件不为真,当前条件为真,则编译下面代码
         #endif         结束一个#if……#else条件编译块
         #error          停止编译并显示错误信息

一、文件包含
       为了避免那些只能包含一次的头文件被多次包含,可以在头文件中用编译时条件来进行控制。例如:
       
        #ifndef _MY_H_

        #define _MY_H_

         要包含的内容,比如一些函数声明,一些结构体定义等。

        #endif

二、C语言中,定义自定义库函数时该如何写对应的头文件

没有强制规定,但一般遵循以下原则:

1 功能类似或相关的一组函数写在同一个头文件中;
2 头文件命名应简单,尽量短,但可以通过文件名得知内部函数功能;
3 头文件名由数字、字母、下划线组成,不要有空白字符或其它符号;
4 为防止头文件重复引用,或嵌套引用,头文件应使用条件编译包含;
5 头文件中,应遵循先类型定义,后函数声明的顺序;
6 当头文件函数声明中,用到其它头文件中定义的类型时,在头文件开始处进行引用。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值