这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 宏定义的使用

共1条 1/1 1 跳转至

宏定义的使用

助工
2014-10-05 20:25:52     打赏

1.不带参数宏定义


#define  标识符  待替换的字符串


例:#define   MAX_LENGTH   80


(1) 集中放在程序的开始处


(2)  宏符号名用大写字母表示


(3)  宏定义行的未尾不要加分号


(4)  宏定义嵌套最在可达255级


(5)  可以在其前面加反斜杠(\)来明确指出一个宏符号名。


(6)  可在用预处理指令#undef宏符号名,来删除一个宏符号名。


eg:


      #define  MAX_LEN 80                           /*定义最大长度为80*/


     #define  BUFFER_SIZE  \MAX_LEN*20    /*定义缓冲区大小为80*20*/


 


     #undef   MAX_LEN               /*删除上面定义的宏定义:最大长度*/


     #define  MAX_LEN  120      /*重新定义最大长度为120*/


2. 带参数的宏定义


  #define   宏符号名(参数列表)   表达式


(1)  宏符号名和左括号必须紧紧相连,其间不能有空格,注释及诸如此类的字符串。


      括号中,参数表里的参数被称为形式参数,在以后的程序中它们将被实际参数所贷替。


      宏定义指令#defne要求在一行内写完,如一行内写不下时可在行未反斜杠"\"进行续行。


eg;


      #define eq(a,b)  a==b


      #define ne(a,b)  a!=b


 


      int  x,y,z;


      x=y=1;


      if(eq(x,y))


       z=0;


      else


      z=20;



共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]