gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 24 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章简单讲解C语言中宏的定义与使用由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

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

定义:

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

例如:

?
1
#define PI 3.1415926

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

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

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

?
1
float area = 3.1415926 * r * r;

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

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

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

使用方法:

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

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

?
1
#define MUL(A, B) ((A) * (B))

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

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

最后此篇关于简单讲解C语言中宏的定义与使用的文章就讲到这里了,如果你想了解更多关于简单讲解C语言中宏的定义与使用的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com