C语言宏定义作用、使用方法小结(1)

来源:互联网 发布:u盘绿色版软件 编辑:程序博客网 时间:2024/06/13 01:07
宏广泛用于C语言程序中,本文总结了宏的分类, 作用与使用注意事项
 
宏定义分类:
 
(1)不带参数的宏定义
 
形式: #define 宏名 [宏体]
功能:可以实现用宏体代替宏名
使用实例: #define TRUE 1
作用:程序中多次使用TRUE,如果需要对TRUE的值进行修改,只需改动一处就可以了
 
 
(2)带参数的宏: #define 宏名 ( 参数表) [宏体]
 
 
宏定义作用:
 
(1)方便程序的修改
 
上面的#define TRUE 1就是一个实例
 
(2)提高程序的运行效率
 
宏定义的展开是在程序的预处理阶段完成的,无需运行时分配内存,能够部分实现函数的功能,却没有函数调用的压栈、弹栈开销,效率较高

(3)增强可读性
 
这点不言而喻,当我们看到类似PI这样的宏定义时,自然可以想到它对应的是圆周率常量
 
(4)字符串拼接
 
 例如:
#define CAT(a,b,c) a##b##c
 
main()
{
    printf("%d\n" CAT(1,2,3));
    printf("%s\n", CAT('a', 'b', 'c');
}
 
程序的输出会是:
 
123
abc
 
 
(5)参数转化成字符串
 
示例:
 
#defind CAT(n) "abc"#n
 
main()
{
    printf("%s\n", CAT(15));
}
 
输出的结果会是
abc15
 
(6)用于程序调试跟踪

常见的用于调试的宏有,_ L I N E _,_ F I L E _,_ D A T E _,_ T I M E _,_ S T D C _

(7)实现可变宏

举例来说:

#define PR(...) printf(_ _VA_ARGS_ _)

 
 
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(129) | 评论(0) | 转发(0) |
0

上一篇:UTF-8向UNICODE转换

下一篇:修练8年C++面向对象程序设计之体会

相关热门文章
  • screen防止终端掉线
  • 欢迎扑克扫描仪使用方法在Chin...
  • 简单介绍linux 2.6内核的四种I...
  • PHP函数补完:call_user_func(...
  • 欢迎普通麻将机出千赌具使用方...
  • A sample .exrc file for vi e...
  • IBM System p5 服务器 HACMP ...
  • 游标的特征
  • busybox的httpd使用CGI脚本(Bu...
  • Solaris PowerTOP 1.0 发布
给主人留下些什么吧!~~