• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

简单讲解C语言中宏的定义与使用

c语言 搞代码 4年前 (2022-01-06) 37次浏览 已收录 0个评论

这篇文章主要介绍了C语言中宏的定义与使用,是C语言入门学习中的基础知识,需要的朋友可以参考下

宏定义是预编译功能的一种, 预编译又称为预处理, 是为编译做的预备工作的阶段。处理#开头的指令, 比如拷贝 #include 包含的文件代码,#define宏定义的替换,条件编译等。
使用宏定义的好处:使用宏定义的好处:可提高程序的通用性和易读性,减少不一致性,减少输入错误和便于修改。例如 π 这个常量,我们有时候会在程序的多个地方使用,如果每次使用都重新定义,一来比较麻烦,二来容易出错,所以我们可以把 π 做成宏定义来使用。
 
语法说明:
(1)宏名一般用大写
(2)使用宏可提高程序的通用性和易读性,减少不一致性,减少输入错误和便于修改。例如:数组大小常用宏定义
(3)预处理是在编译之前的处理,而编译工作的任务之一就是语法检查,预处理不做语法检查。
(4)宏定义末尾不加分号;
(5)宏定义写在函数的花括号外边,作用域为其后的程序,通常在文件的最开头。
(6)可以用#undef命令终止宏定义的作用域
(7)宏定义可以嵌套
(8)字符串” “中永远不包含宏
(9)宏定义不分配内存,变量定义分配内存。

定义:

 #define 宏名 内容 #define kArrLen 10 // OC驼峰命名法:首字符为k,其他单词首字符大写 #define ARR_LEN 10 // C语言中的宏命名规范:所有字母大写,单词用下划线分隔 

例如:

 #define PI 3.1415926 

我们就可以使用 PI 来代替 3.1415926 即可:

 float r = 0.5; float area = PI * r * r; printf("area = %f\n", area); 

在程序预编译阶段会把 PI 替换成 3.1415926:

 float area = 3.1415926 * r * r; 

宏定义内容很简单,也很好理解,但是有几个如下的注意事项:

1、因为宏定义只是简单的替换,如果宏定义的内容有运算的时候,要把每个变量加上括号,以免影响运算的优先级

比如:#define MUL(A, B) (A * B)

使用方法:

 MUL(3 + 5, 5 + 6) //会替换成 3 + 5 * 5 + 6 = 34 

我们希望(3 + 5) * (5 + 6),所以定义宏定义的时候应该:

 #define MUL(A, B<div style="color:transparent">来源gaodai.ma#com搞#代!码网</div>) ((A) * (B)) 

2、注意宏定义后面没有分号(;),它不是一条语句

3、宏定义是在程序编译前期进行替换,此时程序还没有编译

以上就是简单讲解C语言中宏的定义与使用的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:简单讲解C语言中宏的定义与使用

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址