宏函数

使用宏函数优势

1、简化程序的编写

2、宏是由编译器解析和替换的,宏里面可以不用写类型

声明方式:

#define MAX(A,B) A>B?A:B

#define LOOP(TO,FROM,CONTENT) \

for(int index=TO;index<=FROM;index++){ \

CONTENT; \

}

调用方式:

printf("max value is %d\n",MAX(4,5));

LOOP(1,10,printf("content is %d \n",index));



宏函数参数连接

1、使用宏函数参数连接是为了避免导入多个库的时候有相同名称的方法引起方法冲突

使用方式:

#define callLinked(NAME) wyd##NAME()

void wydlinked(){

printf("name is %s/n","wyd");

}

调用方式:

callLinked(linked);


宏函数可变参数

使用方式:

#define LOG(LEVEL,FORMAT,...) printf(LEVEL); printf(FORMAT,__VA_ARGS__);

#define LOG_E(FORMAT,...) LOG("ERROR:",FORMAT,__VA_ARGS__);

调用方式:

LOG_E("args is %s \n","null");

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容