首页 > 其他分享 >预处理命令和宏定义/带参数宏定义

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

时间:2022-10-08 13:33:22浏览次数:55  
标签:__ 定义 ++ 参数 include 预处理

预处理命令:

 

 

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

快速入门小案例:

 

 

 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


预处理命令小结:


 

预处理使用注意事项:

 

标签:__,定义,++,参数,include,预处理
From: https://www.cnblogs.com/MorningMaple/p/16764697.html

相关文章