c语言复习(二)宏定义和条件编译

宏定义:
define  G 9.8

 。。。。。

。。。。。。

#undef G

宏定义的作用域

注意不同:

 #define  AB(X) x*x-2*x+10

AB(1+2)=1+2*1+2-2*1+2+10=15

AB(3)=3*3-2*3+10=13

AB(3)*10=3*3-2*3+10*10=103

 

#define AB(x)  ((x)*(x)-2*(X)+10)

AB(1+2)=(1+2)*(1+2)+10=13

AB(3)*10=(3*3-2*3+10)*10=130

 

 宏只是进行简单的字符替换。宏展开是编译前进行的,在展开时不分配内存单元。宏不存在类型问题,宏名没有类型。它的参数也没有类型。只是一个符号代表。展开时带入指定的字符串即可。

条件编译:

#define Debug

#ifdef Debug

....

#else

......

#endif

#if

#else

#endif

posted @   丁昌兴  阅读(321)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示