zoukankan      html  css  js  c++  java
  • C语言基础:C语言宏定义(3)

    上一节我们讲解了带参数和不带参数的宏定义, 这次我们来讲解条件编译, 什么是条件编译呢? 我们来看看吧


    下面我们来看看例子:

    #include <stdio.h>
    
    int main()
    {
        int a = 10;
        
        if (a == 10)
        {
            printf("a是10
    ");
        }
        else if(a == 5)
        {
            
        }
        else
        {
            
        }
        
        return 0;
    }


    上面这种其实就是条件编译, 但这种条件编译有一个问题, 在编译的时候, 编译器不会选择性编译, 而是全部都编译进去, 再来判断条件, 下面我们来看看宏定义的条件编译:


    #include <stdio.h>
    
    #define A 10
    
    int main()
    {
    #if (A==10)
        printf("a是10
    ");
    #elif (A==5)
        printf("a是5
    ");
    #else
        printf("a是其他
    ");
    #endif    
        return 0;
    }
    宏定义的条件编译只能用于宏定义, 不能用于变量, 而且, 一旦宏定义满足其中一个条件, 那么就只会编译这一句代码, 而其他的条件就不会参与编译, 还有就是在写完条件编译之后, 一定一定要加上#endif, 否则就和main函数少了一个大括号一样, 会出错.



    其他的用法, 比如:

    #if define A
        code;
    #endif
    意思是, 如果定义了这个宏, 那么就执行code.


    #if !define A
        code;
    #endif
    
    意思是, 如果没有定义这个宏, 那么就执行code.



    还有#ifdef#ifndef和上面两种用法是一致, 这里就不多说了~~



    好了, 这次我们就讲到这里, 下次我们继续~~~

  • 相关阅读:
    在线文件转换工具
    中鸣机器人官网
    下载tortoisegit
    知晓云,不用申请服务器即可完成小程序后台开发和部署
    全网音乐免费下载工具
    MySQL5.7 主从复制配置
    Nginx-------Nginx的安装和多域名配置
    如何获取域名(网址)对应的IP地址
    LOGO免费在线设计
    Jmeter-----保存到响应文件
  • 原文地址:https://www.cnblogs.com/iOSCain/p/4282875.html
Copyright © 2011-2022 走看看