开发wap网站 转,自建外贸网站多少钱,怎么删除建站网站程序,微信公众号的网站1类型重定义 typedef typedef关键字
属性#xff1a;关键字
功能#xff1a;将数据类型重新定义别名 #xff08;数据类型 别名#xff09;
格式#xff1a;typedef数据类型名 别名#xff1b;
例子#xff1a;typedef unsigned char u8#xff1b;
位置…1类型重定义 typedef typedef关键字
属性关键字
功能将数据类型重新定义别名 数据类型 别名
格式typedef数据类型名 别名
例子typedef unsigned char u8
位置标准位置应该放在工程的.h文件 没有.h文件放在主函数上面
好处写复杂数据类型更方便
#include stdio.h
typedef unsigned char u8; //不一定都用u8 有的用uint8_t
typedef unsigned short u16;
typedef unsigned int u32; 使用场景对结构体类型重命名
2宏定义#define
#define 预处理 属性预处理 功能在预处理的时候将程序中的语句或表达式 重命名别名
格式 不带参宏定义 带参宏定义
格式 #defind 别名 要宏定义的内容 //别名在前 没有分号 要宏定义的内容加括号
说明宏名用大写
例子#define LED_ON (GPIO-~(14))
位置放在.h文件中 放在.c最上面
好处使程序简单更直观方便程序维护
使用场景传感器功能码特殊功能等等 分类标准宏定义 带参宏定义 格式#define 别名(参数) 宏定义内容 例子#define MM(a,b) (ab*a)
3条件编译
说明 条件编译要跟条件执行选择结构区分开
条件编译根据数据决定是否编译代码
条件执行根据条件决定是否执行代码
功能1按照不同的条件去编译不同的程序部分因此产生不同的目标代码文件。节省代码存储空间。 格式 #define VL
int main(void)
{
#ifdef VL 程序1
#else 程序2
#endif return 0;
} #ifdef VL printf(版本1界面\n);
#endif
#ifdef VK printf(版本2界面\n);
#endif
#ifdef VJ printf(版本3界面\n);
#endif
#ifdef VH printf(版本4界面\n);
#endif
功能2条件编译防止代码重复编译
#ifndef 标签名
#define 标签名 #endif