博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
#define的用法
阅读量:6928 次
发布时间:2019-06-27

本文共 987 字,大约阅读时间需要 3 分钟。

#define N 100  ok

#define N 100; error

#define N = 100  error   int a[N] => int a[= 100] error

#define pin int*   pin a,b; error(a为int*,b为int)



2. 特殊用法


#define BEGIN {

#define END }


int main BEGIN

    printf("haha");

END



定义一个循环

#define LOOP for(;;)


重新定义数据类型

#define IT int



3.带参数的宏

#define MAX(x,y) ((x)>(y)?(x):(y)) 



4.宏的特殊单行定义

#define C(x) #x  将宏参数进行字符串字面量化并且加""号 

const char* p = C(hello,world);

printf("p=%s\n",p);//结果为hello,world



5.define 的多行定义

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

#define func() printf("hello \ 

,world")


int main(void){

    func(); //hello ,world

    return 0;

}



6.在大规模的开发过程中最重要的是条件编译

#ifdef WINDOW

#endif

...

...

#ifdef LINUX

#endif



7.取消宏

#undef 标识符


8.条件编译

#ifdef XXX 

#else

#endif


9.有用的宏

__LINE__被编译文件的行数(整型)

__FILE__被编译文件的名字(字符型)

__DATE__编译日期(字符型)

__TIME__编译时间(字符型)

printf("__LINE__:%d\n",__LINE__);  5

printf("__FILE__:%s\n",__FILE__);  01.c

printf("__DATE__:%s\n",__DATE__);  Dec 24 2016

printf("__TIME__:%s\n",__TIME__);  14:23:36

本文转自神ge 51CTO博客,原文链接:http://blog.51cto.com/12218412/1885750

转载地址:http://dvujl.baihongyu.com/

你可能感兴趣的文章
Node.js安装及环境配置之Windows篇
查看>>
初学css为博客园文章某个超链接添加 icon
查看>>
LAMMPS Data Format
查看>>
第一次负责项目总结
查看>>
解决spf13-vim编辑php丢失语法颜色问题
查看>>
关于注册github
查看>>
redis几种数据类型以及使用场景
查看>>
KMP算法学习(详解)
查看>>
Implementations of interface through Reflection 反射根据继承的信息查找指定的类
查看>>
java split方法
查看>>
JSTL / Filter
查看>>
很好的验证码
查看>>
Swift进阶之路(一)——单例模式、属性传值、代理传值、闭包传值
查看>>
IPV4
查看>>
XML基础之Jdom和DOM4J解析(转)
查看>>
Ad Hoc Distributed Queries的启用与关闭
查看>>
安全的“野指针”
查看>>
EXCEL实战技巧与数据分析(一)基础应用
查看>>
使用NIFTI指令画nii图像
查看>>
利用缓存、Timer间隔时间发送微信的实例,很有用的例子
查看>>