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_ _)
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 发布
给主人留下些什么吧!~~
评论热议
0 0
- C语言宏定义作用、使用方法小结
- C语言宏定义作用、使用方法小结(1)
- C语言宏定义作用、使用方法小结(2)
- C语言宏定义小结
- C语言宏定义小结
- C语言宏定义小结
- C语言中宏定义使用方法详解
- C语言宏定义的使用小结
- C 宏定义小结
- C语言 - #define宏的定义与使用方法
- C语言宏定义中的#,##,#@及\符号的作用
- c语言宏定义中的#,##,#@及\符号的作用
- C语言宏定义中的#,##,#@及\符号的作用
- C语言宏定义中的#,##,#@及\符号的作用
- C语言宏定义中的#,##,#@及\符号的作用
- C语言宏定义中#和##的作用
- C语言宏定义时#(井号)和##(双井号)作用
- C语言中使用空的宏定义的作用
- 一个关于自旋锁(spin lock)问题的讨论
- 关于linux系统的USB Camera驱动说明
- 一个fork的面试题
- 程序员应该掌握的几门编程语言
- UTF-8向UNICODE转换
- C语言宏定义作用、使用方法小结(1)
- 实用页面工具
- 修练8年C++面向对象程序设计之体会
- TFS 强制删除工作区
- K-Means++算法之NBA后卫分类
- vim格式化C代码
- main之前
- OpenCV移植到ARM9
- 天声人語 20160121 日本で世界で格差が拡大
原创粉丝点击
热门IT博客
热门问题
老师的惩罚
人脸识别
我在镇武司摸鱼那些年
重生之率土为王
我在大康的咸鱼生活
盘龙之生命进化
天生仙种
凡人之先天五行
春回大明朝
姑娘不必设防,我是瞎子
星星英文
星星之火
星星歌词
天上的星星
星星网
星星泪
星星是什么
星星歌曲
星星的含义
歌曲星星
星星维塔斯
星星的歌词
星星vitas
vitas 星星
星星月亮
来自星星的
星星的密室
星星网络
维塔斯星星
星星素材
星星简笔画
星星图案
卡通星星
星星的英文
星星作文
星星图标
星消灭星星
星星 英文
摘星星
看星星
星星的眼睛
闪亮的星星
什么星星
小星星钢琴谱
星星之火可以燎原
地球上的星星
照见星星的她
深海里的星星
天上星星都给你摘
星星花边边框
闪闪星星像什么