#define(1)define常用操作

  • 1. 简单的define定义
  • 2. define的“函数定义”
  • 3. 关于宏#define IN、OUT和INOUT的说明
  • 参考
  • 4. #define QUEUE_INFINITE_DEPTH (~0UL)
  • 5. typedef 和 define 区别
  • 6. #define IGNORE_PARAM(X) ((X) = (X))
  • 7. #define 求数组长度
  • 8. 注意,define 宏中不能添加注释/**/

#define(2) #define和typedef 的区别
https://blog.csdn.net/lqy971966/article/details/110946843

1. 简单的define定义

#define MAXTIME 1000
一个简单的MAXTIME就定义好了,它代表1000,如果在程序里面写
类似于普通的常量定义CONST,但也有着不同,因为define的定义更像是简单的文本替换

2. define的“函数定义”

定义宏时,要将整个宏表达式用括号包含
例如: 求最小值的宏

#ifndef MIN
#define MIN(a,b) (((a)<(b))?(a):(b))
#endif

3. 关于宏#define IN、OUT和INOUT的说明

例子
在工程中会有类似于上面这种宏定义出现

#ifndef IN
#define IN
#endif#ifndef OUT
#define OUT
#endif#ifndef INOUT
#define INOUT
#endif

这些宏标记宏 表示输入参数,仅仅是一个标识作用,没有其他意思。

参考

https://blog.csdn.net/jays_/article/details/79713946

4. #define QUEUE_INFINITE_DEPTH (~0UL)

0UL是无符号长整型 0, ~ 表示按位取反,即:0xffffffff 最大值

有符号数和无符号数详解:
https://blog.csdn.net/lqy971966/article/details/106033332

5. typedef 和 define 区别

typedef 和 #define 的区别
https://blog.csdn.net/lqy971966/article/details/110946843

6. #define IGNORE_PARAM(X) ((X) = (X))

为了消除告警
因为告警提示 x未使用

7. #define 求数组长度

#define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))
求数组长度

8. 注意,define 宏中不能添加注释/**/

#define(1)define常用操作相关推荐

  1. 【node】Sequelize常用操作、基本增删改查

    [node]Sequelize常用操作.基本增删改查 sequelize初始化 先初始化一个数据库实例 再初始化一个model实例 sequelize的数据类型 基本增删改查的写法 SELECT * ...

  2. 顺序表的插入与删除java_C++实现顺序表的常用操作(插入删出查找输出)

    实现顺序表的插入,删除,查找,输出操作在C语言中经常用到.下面小编给大家整理实现代码,一起看下吧 代码如下所示: #include using namespace std; #define MAXSI ...

  3. 聊聊LiteOS事件模块的结构体、初始化及常用操作

    本文分享自华为云社区<LiteOS内核源码分析系列九 事件Event>,原文作者:zhushy . 事件(Event)是一种任务间通信的机制,可用于任务间的同步.多任务环境下,任务之间往往 ...

  4. arcgis坐标系未定义_科学网—ArcGIS中的坐标系:基本概念和常用操作 - 李郎平的博文...

    ArcGIS中的坐标系:基本概念和常用操作 李郎平,Email: lilp@lreis.ac.cn 中国科学院地理科学与资源研究所,资源与环境信息系统国家重点实验室 缘由:介绍GIS(地理信息系统)中 ...

  5. CSP考试复习:第一单元 C++语言基础1.6 其他常用操作!

    1.6 其他常用操作! 本资料常用的头文件:<iostream>.<cstdlib>.<cstring>.<fstream>以及<algorith ...

  6. sqlite常用操作

    sqlite常用操作 一.数据库简介 二.Sqlite数据库 三.创建数据表 四.删除数据表 五.向数据表插入数据 六.从数据表中删除数据 七.修改数据表中已存在的数据 八.查询数据表中的数据 九.Q ...

  7. C++ STL::list常用操作及底层实现(中1)——实现list常用操作之插入(insert、push_front、push_back、splice)

    STL::list插入介绍及自实现插入功能 1插入数据之insert(): 1.1 `iterator insert(iterator position,const value_type & ...

  8. 【无标题】c++ MFC图像处理CImage类常用操作代码

    原文作者:aircraft 原文地址:https://www.cnblogs.com/DOMLX/p/9598974.html 我看了一下发现关于c++下的CImage图像处理类 的图像处理相关的介绍 ...

  9. C语言字符串、文件操作常用操作函数,

    C语言字符串常用操作函数 C语言字符串.文件操作常用操作函数 字符串输出 - puts() 字符串输入 - gets() 字符串比较 - strcmp() 字符串复制 - strcpy() 字符串连接 ...

最新文章

  1. RDKit | 基于RDKit(≥2020.09.1)的相似图绘制新方法
  2. java按照字节切割字符串,解决汉字的问题
  3. 激励员工的首席执行官以及他们的秘诀
  4. 苹果cmsV10仿哈哩哈哩动漫自适应模板
  5. android studio 优化完以后开不了虚拟机,Android studio 打不开官方虚拟机 100%成功解决方法...
  6. Spring Boot(3)---Spring Boot启动器Starter详解
  7. scala上界_Scala方差,上界和下界
  8. 容易忘记的linux命令之rpm
  9. 保持简单----纪念丹尼斯•里奇
  10. MH算法拟合标准柯西分布
  11. Eclipse下jsp模板设置
  12. 计算机dns怎么设置方法,电脑的dns怎么设置具体方法
  13. 深入浅出 Greasemonkey
  14. Symbian UIQ简介
  15. 计算机怎么删除我的苹果设备管理器,怎么删除电脑我的苹果设备管理器
  16. web设置网页背景为好看炫酷的渐变色样式
  17. 中国小麦加工产业运行动态分析及投资前景预测报告2022-2028年
  18. 无监督异常检测中的阈值确定
  19. 电脑右键刷新有用吗?真的能给电脑提速吗?
  20. MyBatis之association嵌套

热门文章

  1. 电商中的sku模块在项目中的实际运用(vue2)
  2. CentOS:root密码修改
  3. 1.聊聊Netty那些事儿之从内核角度看IO模型
  4. 十个计算机函数,Excel乘法函数Product与*/用于计算乘除法的10个实例,含用一个数乘或除表格的所有数、提价和多数指数运算公...
  5. 一篇文章讲明白领域驱动建模(DDD)
  6. angular使用crypto.js加密
  7. (二)C++游戏开发-本地存储-文本文件读写
  8. 重要核心词汇(一)(2020.12.24)
  9. Android N+ 安装apk
  10. MMSegmentation中MIM使用异常