既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
格式:
#define 宏名 宏体
举例
#define PI 3.14
为了便于区分,宏名为大写字母
嵌套宏
先完成一个宏定义,在第二个宏定义的宏体中包含了第一次宏定义的宏名
举例
#define PI 3.14
#define PI_2 (2*PI)
代码
#include <stdio.h>
#define PI 3.14
#define PI_2 2*PI
int main() {
int r = 3;
float l;
l = PI_2 * r;
printf("%.2f", l);
return 0;
}
执行结果
有参数的宏定义
与函数类似,宏定义中的参数称为形式参数
格式
#define 宏名(形参表) 宏体
举例
#define F(x,y) 2*x+y
代码
#include <stdio.h>
#define F(x,y) 2*x+y
int main() {
int x = 2;
int y = 3;
int z = F(x, y);
printf("%d", z);
return 0;
}
执行结果
注意宏定义宏体是否加括号的运算结果是不同的,举例如下:
易错点
1.#define F (x*x+3*x)
代码
#include <stdio.h>
#define F (x*x+3*x)
int main() {
int x = 2;
int z = 3 * F + 4;
printf("%d", z);
return 0;
}
运行结果
带括号的执行的时候是3*(x*x+3*x)+4即3*(2*2+3*2)+4也就是34
2.#define F x*x+3*x
代码
#include <stdio.h>
#define F x*x+3*x
int main() {
int x = 2;
int z = 3 * F + 4;
printf("%d", z);
return 0;
}
执行结果
不带括号的执行的时候是3*x*x+3*x+4即3*2*2+3*2+4也就是22
由上面两个例子可以看出宏定义到括号和不带括号是完全不一样的,这点十分容易错,大家一定要小心
总结
理解包含头文件,清楚头文件的两种格式,掌握宏定义及其嵌套,能够区分宏定义带括号和不带括号的区别。
各位C语言的初学者有问题随时都可以问我,随时为您解惑!!!
👍+✏️+⭐️是对博主最大的鼓励与支持!!!
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新