#define定义宏(2)

server/2024/11/20 5:24:03/

大家好,今天给大家分享两个技巧。

首先我们应该先了解一下c语言中字符串具有自动连接的特点。注意只有将字符串作为宏参数的时候才可以把字符串放在字符串中。

bfebc22d12d74a6d9ed2f65373d228cf.png

下面我们来讲讲这两个技巧

1.使用#,把一个宏参数变成对应的字符串。

 d7353d03f3b343efa5b55f9717717c01.png

2.##的作用

可以把位于它两边的符号合成一个符号。

它允许宏定义从分离的文本片段创建标识符。

注:这样的连接必须产生一个合法的标识符,否则其结果就是未定义的。

 1515cee6fc31486b8d098a703c16729d.png

那么今天分享就到这里,谢谢大家!!

f8a1b9d5d5144c408b4cc8660fe4286f.png 


http://www.ppmy.cn/server/143389.html

相关文章

使用低成本的蓝牙HID硬件模拟鼠标和键盘来实现自动化脚本

做过自动化脚本的都知道,现在很多传统的自动化脚本方案几乎都可以被检测,比如基于root,adb等方案。用外置的带有鼠标和键盘功能集的蓝牙HID硬件来直接点击和滑动是非常靠谱的方案,也是未来的趋势所在。 一、使用蓝牙HID硬件的优势…

基于Java Springboot滁州市特产销售系统

一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js、Vue、Element-ui 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA/eclipse 数据…

【jvm】方法区的理解

目录 1. 说明2. 方法区的演进3. 内部结构4. 作用5.内存管理 1. 说明 1.方法区用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码缓存等数据。它是各个线程共享的内存区域。2.尽管《Java虚拟机规范》中把方法区描述为堆的一个逻辑部分,但它却…

android 如何获取当前 Activity 的类名和包名

其一:getClass().getSimpleName() public static String getTopActivity(Context context){ ActivityManager am (ActivityManager) context.getSystemService(context.ACTIVITY_SERVICE); ComponentName cn am.getRunningTasks(1).get(0).topAct…

前端搭建低代码平台,微前端如何选型?

目录 背景 一、微前端是什么? 二、三大特性 三、现有微前端解决方案 1、iframe 2、Web Components 3、ESM 4、EMP 5、Fronts 6、无界(文档) 7、qiankun 四、我们选择的方案 引入qiankun并使用(src外层作为主应用) 主应…

【设计模式-迪米特法则】

迪米特法则(Law of Demeter,LoD),也称为最少知识原则(Principle of Least Knowledge),是一种面向对象编程中的设计原则。它的核心思想是:一个对象应当尽可能少地了解其他对象&#x…

SpringBoot集成jpa使用步骤以及场景

应用场景 将环形独立为starter后涉及到创建表数据&#xff0c;想要实现每一个项目在使用该starter项目的时候就把表结构导入到自己的项目中&#xff0c;使用jpa实现 实现步骤 1.引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <a…

React Native 全栈开发实战班 - 性能与调试之打包与发布

在完成 React Native 应用的开发与性能优化后&#xff0c;下一步就是将应用打包并发布到各大应用市场&#xff0c;如 Apple App Store 和 Google Play Store。本章节将详细介绍 React Native 应用的打包与发布流程&#xff0c;包括 Android 和 iOS 平台的打包步骤、签名配置、发…