常用的C语言宏定义

防止头文件被重复包含

#ifndef CONDEF_H
#define CONDEF_H

/* 头文件内容 */

#endif

重新定义数据类型,防止由于各种平台和编译器的不同而产生的类型字节数差异,方便移植

typedef unsigned char boolean;     /* Boolean value type. */
typedef unsigned long int uint32;  /* Unsigned 32 bit value */
typedef unsigned short uint16;     /* Unsigned 16 bit value */
typedef unsigned char uint8;       /* Unsigned 8 bit value */
typedef signed long int int32;     /* Signed 32 bit value */
typedef signed short int16;        /* Signed 16 bit value */
typedef signed char int8;          /* Signed 8 bit value */

得到指定地址的一个字节或字

#define MEM_B( x ) ( *( (byte *) (x) ) )
#define MEM_W( x ) ( *( (word *) (x) ) )

求最大值和最小值

#define MAX( x, y ) ( ((x) > (y)) ? (x) : (y) )
#define MIN( x, y ) ( ((x) < (y)) ? (x) : (y) )

将一个小写字母转换为大写字母

#define UPCASE( c ) ( ((c) >= 'a' && (c) <= 'z') ? ((c) - 0x20) : (c) )

返回数组元素的个数

#define ARR_SIZE( a ) ( sizeof( (a) ) / sizeof( (a[0]) ) )

相关推荐

  1. 常用C语言定义

    2023-12-11 20:08:02       41 阅读
  2. c++ 常用一些定义

    2023-12-11 20:08:02       33 阅读
  3. C语言定义:从常量到高级技巧

    2023-12-11 20:08:02       28 阅读
  4. C语言】(8)定义

    2023-12-11 20:08:02       35 阅读
  5. C语言定义详解与实践

    2023-12-11 20:08:02       23 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-11 20:08:02       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-11 20:08:02       20 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-11 20:08:02       20 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-11 20:08:02       20 阅读

热门阅读

  1. 牛客挑战赛 B - 树上博弈 -- 题解

    2023-12-11 20:08:02       46 阅读
  2. Python:合并两个PDF文件为一个PDF

    2023-12-11 20:08:02       33 阅读
  3. 涂卡——位运算

    2023-12-11 20:08:02       41 阅读
  4. 【力扣】刷题备忘录-动归-96. 不同的二叉搜索树

    2023-12-11 20:08:02       43 阅读
  5. SCAU:18051 勾股数

    2023-12-11 20:08:02       38 阅读
  6. 在装有 PostgreSQL 14 的 Red Hat8上安装 `pg_cron`

    2023-12-11 20:08:02       27 阅读
  7. 基于粒子群算法求解充电桩布局

    2023-12-11 20:08:02       43 阅读