条件编译 #if #endif #if #elif #else #endif #ifdef #if define 的使用方法 引头文件#include<> 和#include““的区别

//条件编译:满足条件就编译,不满足就不编译----不等于注释
      
int main()
{

    //1.  #if  常量表达式(可以是1,0,1+2,1-2等)+       #endif
#if 1     //#if  1为真,参与编译                   #if 0为假,不参与编译---等价于注释
    printf("呵呵\n");
#endif    
    return 0;
}
       //2.多个分支的条件编译 #if常量表达式  +  #elif常量表达式  + #else常量表达式...+ endif
       //一个一个进行判断,上一个为真,就不用考虑下一个了
int main()
{
#if 1==2
    printf("呵呵\n");
#elif 2==3

    printf("哈哈\n");
#else 3==4
    printf("嘿嘿\n");
#endif 4==4
    printf("灰灰\n");
    return 0;
}

            //判断宏是否被定义
//1.#ifdef==if define宏        +    #endef宏
int main()
{
#ifdef TEST//如果TEST定义,就参与编译,否则就省略,(像注释一样)
    printf("呵呵\n");
#endif
    printf("哈哈\n");
    return 0;
}

//2.#ifndef==if!define       +    #endef宏
int main()
{
#ifndef TEST//如果TEST没有被定义,就参与编译,否则就省略,(像注释一样)
    printf("呵呵\n");
#endif
    printf("哈哈\n");
    return 0;
}
 
                 //嵌套使用时
#if defined(OS_UNIX)
  #ifdef OPTION1
    unix_version_option1();
  #endif
  #ifdef OPTION2
    unix_version_option2();
  #endif
#elif defined(OS_MSDOS)
  #ifdef OPTION2
    msdos_version_option2();
  #endif
#endif


    //引头文件方式#include<>  (库文件的包含)        和#include""  (本地文件的包含,自定义)
    //本质区别是查找策略的区别
    //""查找:1.去自己代码所在的目录下查找,2.如果第一步找不到,则在库函数的头文件目录下查找
    //<>查找:自己去库函数头文件所在的目录下查找
    //可以用""替代<>的文件,但是反过来不行,,,,,在库里面能用<>就用<>,,,,,自己定义的用""


    //防止一个文件被重复多次定义
    //1.在文件第一行加上#pragma once
    //2.     #ifndef __ADD_H__  (ADD_H_是文件名,最好大写)
    //       #define __ADD_H__
    //       .....
    //       .....
    //       #endif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力成为焦耳定律鸭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值