预处理命令和宏定义/带参数宏定义

预处理命令:

 

 

 预处理在编译前就执行了!!

快速入门小案例:

 

 

复制代码
 1 #include <stdio.h>
 2 #if _WIN32
 3 #include <windows.h>
 4 #elif __linux__
 5 #include <unistd.h>
 6 #endif
 7 
 8 int main(){
 9     #if _WIN32
10     Sleep(5000);
11     #elif __linux__
12     sleep(5);
13     #endif
14     puts("你好");
15     return 0;
16 }
复制代码

注意不同平台的源码不同,如windows下,源码为:

1 #include <stdio.h>
2 #include <windows.h>
3 
4 int main(){
5     Sleep(5000);
6     puts("你好");
7     return 0;
8 }

宏定义:

 

 即:用标识符表示字符串

例子:

 

 

 

 宏定义的形式:

 

 例子:

 

 

 

别忘了小括号也是一部分!!


 

注意事项:

 

 

 

 

 

 


 

带参宏定义

 

形参:宏定义中的参数,此处是:a和b

实参:宏调用中的参数x,此处是:和y

 

 

 

 

 


 

注意事项和细节:

 

 

 

 因此需要修改形参后面的字符串为:

 

 这样即可解决边界效应


 

带参宏定义和函数的区别:

 

 宏不占用内存,也不参与编译

函数会被编译,还会占用内存

此处案例,函数的循环运行了5次,而宏定义的运行了3次

宏定义中:

 

 i=1,在((i++)*(i++))中,第一个循环是1*1,但是i++执行了两次,所以当i再次回到while时,i已经为3


预处理命令小结:


 

预处理使用注意事项:

 

posted @   Morning枫  阅读(58)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示