C宏

一、宏指令       

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

 

 

二、文件包含

 1、#define AAA
        #include "t.c"
        #undef AAA
        #include "t.c"

       
   2、#ifndef MY_H
         #define MY_H
          ……
         #endif

 

三、带参数的#define指令

单纯的展开,注意括号的使用

#define Cube(x) (x)*(x)*(x)
int num=8+2;
volume=Cube(num);
result : (8+2)*(8+2)*(8+2);


四、 #与##

#:出现在宏定义中的#运算符把跟在其后的参数转换成一个字符串。有时把这种用法的#称为字符串化运算符

##:运算符用于把参数连接到一起

 

五、条件编译指令

#if指令检测跟在制造另关键字后的常量表达式。如果表达式为真,则编译后面的代码,知道出现#else、#elif或#endif为止;否则就不编译。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值