c语言define用法举例

网上有关“c语言define用法举例”话题很是火热,小编也是针对c语言define用法举例寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。

C语言中#define用法总结:

1、简单的宏定义

#define标识符替换列表(替换列表可以是数,字符串字面量,标点符号,运算符,标识符,关键字,字符常量。注意:替换列表是可以为空的)。

典型错误:

#defineN=100

inta[N];/*这样会成为inta[=100],这里会处理成为一种标识记号一样*/

#defineN100;

inta[N];/*带分号的定义会成为inta[100;],这是一种很常见的错误*/

#definepin(int*);

pina,b;

int*a,b;/*本意是a和b都是int型指针,但是实际上变成int*a,b;a是int型指针,而b是int型变量。这是应该使用typedef来代替define,这样a和b就都是int型指针了。*/

2、带参数的宏

#define标识符(x1,x2,x3...xn)替换列表(注意:x1,x2,x3..是宏的参数,标识符和其左括弧之间不能有空格)

使用方法:

#defineMAX(x,y)((x)>(y)?(x):(y))

i=MAX(j+k,m-n);

3、宏的特殊单行定义

#defineA(x)T_##x

#defineB(x)#@x

#defineC(x)#x

x=1

替换为:

A(1)------>T_1(T_##x,##符号是记号粘黏符号,将前后的字符粘黏起来。)

B(1)------>'1'(#@x,#@符号会将宏的参数进行字符串字面量化,并且加‘’号)

C(1)------>"1"(#x,#符号会将宏的参数进行字符串字面量化,并且加""号)

4、define的多行定义

define可以替代多行的代码,在每一个换行的时候加上一个"\"

#defineMAX(X,Y)do{\

语句1;\

语句2;\

/*注释的写法*/\

}while(0)/*(notrailing;)*/\

有三种用法,例如替代多行的代码、条件编译,还有典型的宏定义,具体如下:

1、define最重要的用法是条件编译

#ifdefWINDOWS

......

......

#endif

#ifdefLINUX

......

......

#endif

可以在编译的时候通过#define设置编译环境

2、典型的使用方法

使用宏定义我们可以自己根据自己的习惯来定义甚至改变C语言的语法习惯,例如:

#defineBEGIN{

#defineEND}

intmain()BEGIN

printf("DEFINE----\n");

END

定义一个循环

#defineLOOPfor(;;)

重新定义数据类型

#defineITint

3、define可以替代多行的代码,在每一个换行的时候加上一个"\"

#defineMAX(X,Y)do{\

语句1;\

语句2;\

/*注释的写法*/\

}while(0)/*(notrailing;)*/\

扩展资料:

关于上述中用#define定义标识符的一般形式为:

1、#define?标识符常量?//注意,最后没有分号

2、#define和#include一样,也是以“#”开头的,凡是以“#”开头的均为预处理指令,#define也不例外。

3、#define又称宏定义,标识符为所定义的宏名,简称宏,标识符的命名规则与前面讲的变量的命名规则是一样的。

4、#define的功能是将标识符定义为其后的常量,一经定义,程序中就可以直接用标识符来表示这个常量。

关于“c语言define用法举例”这个话题的介绍,今天小编就给大家分享完了,如果对你有所帮助请保持对本站的关注!

(10)

猜你喜欢

发表回复

本站作者才能评论

评论列表(3条)

  • 香寒的头像
    香寒 2025年12月18日

    我是中擎号的签约作者“香寒”

  • 香寒
    香寒 2025年12月18日

    本文概览:网上有关“c语言define用法举例”话题很是火热,小编也是针对c语言define用法举例寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您...

  • 香寒
    用户121808 2025年12月18日

    文章不错《c语言define用法举例》内容很有帮助

联系我们:

邮件:中擎号@gmail.com

工作时间:周一至周五,9:30-17:30,节假日休息

关注微信