C 语言总结与提高
前言
C 语言是兼具高效与灵活的结构化编程语言,诞生于 1972 年,兼具低级语言的硬件操控能力和高级语言的抽象特性,能直接操作内存、寄存器,适配操作系统、嵌入式等底层开发场景。其长久不衰的核心原因:语法简洁通用,跨平台性强,编译器生态成熟;贴近硬件的高效性无可替代,是操作系统、驱动、嵌入式固件的核心开发语言;同时作为编程入门经典,衍生出 C++、Java 等语言,奠定了编程基础,至今仍是底层开发与系统编程的首选。
基本语法
1、数据类型关键字
|
|
2、流程控制关键字
|
|
3、预编译宏命令
|
|
4、操作符优先级
| 表达式 | 优先级 |
|---|---|
()(小括号) [](数组下标) .(结构成员) ->(指针型结构成员) |
最高 |
!(逻辑非) ~(位取反) -(负号) ++(加1) --(减1) &(变量地址) |
↑ |
*(指针所指内容) (type)(类型转换) sizeof(长度计算) |
│ |
*(乘) /(除) %(取模) |
│ |
+(加) -(减) |
│ |
<<(位左移) >>(位右移) |
│ |
<(小于) <=(小于等于) >(大于) >=(大于等于) |
│ |
==(等于) !=(不等于) |
│ |
&(位与) |
│ |
^(位异或) |
│ |
|(位或) |
│ |
&&(逻辑与) |
│ |
||(逻辑或) |
│ |
?:(?表达式) |
│ |
= += -=(联合操作) |
│ |
,(逗号运算符) |
最低 |
PS:什么是一元操作符、二元操作符、三元操作符?
一元操作符:如 & ,p = &x;
二元操作符:如 + ,c = a + b;
三元操作符:如 ?:,x = a ? b : c;
5、数据类型值域范围
5.1、数据类型值域范围:
| 数据类型 | 长度/bit | 长度/Byte | 值域范围 |
|---|---|---|---|
| bit | 1 | … | 0,1 |
| unsigned char | 8 | 1 | 0~255 |
| signed char | 8 | 1 | -128~127 |
| unsigned int | 16 | 2 | 0~65536 |
| singned int | 16 | 2 | -32768~32767 |
| unsigned long | 32 | 4 | 0~4294967295 |
| singned long | 32 | 4 | -2147483648~2147483647 |
| float | 32 | 4 | -3.40E+38~3.40E+38 (有效小数位为6-7) |
| double | 64 | 8 | -1.79E+308~1.79E+308 (有效小数位为15-16) |
5.2、科学计数法:
| 科学计数法 | 说明 |
|---|---|
| 1.23456789e+8 | = 123456789,小数点需要往【右】移动【8】位 |
| 1.2345e-3 | = 0.0012345,小数点需要往【左】移动【4】位 |
5.3、浮点数的数据类型:
| 数据类型 | 符号位 (位数与正负) |
指数位 (位数与范围) |
尾数位 (位数与范围) |
|---|---|---|---|
| float | 1bit 0: 正数,1: 负数 |
8bits -128~127 |
23bits 0~(2^23) |
| double | 1bit 0: 正数,1: 负数 |
11bits -1024~1023 |
52bits 0~(2^52) |
5.4、浮点数的数学法则:
| 类别 | 算式案例 | 数学法则 |
|---|---|---|
| 符号位 | ±(正负号) | 由“浮点数符号位”决定,0: 正数,1: 负数 |
| 指数位 | 1.111……1(二进制数) | 【算式整数】固定为“1”,【算式小数】为“浮点数指数的二制数值” |
| 尾数位 | 2^12356(十进制数) | 【算式底数】固定为“2”,【算式指数】为“浮点数尾数的转换后十进制数” |
5.5、浮点数的公式:
数值 = (±符号位)((2^指数)(1+(尾数/尾数最大值)))
floatL:数值 = (±符号位)((2^指数)(1+(尾数/(2^23))))
double:数值 = (±符号位)((2^指数)*(1+(尾数/(2^25))))
浮点数19.625用float是如何存储的:
将浮点数转换成二进制:10011.101(将 19.625 整数部分采用除 2 取余,小数部分采用乘 2 取整法);
用科学计数法表示二进制浮点数:1.0011101*2^4;
计算指数偏移后的值:127 + 4 = 131 (10000011);
拼接综上所述,float 类型的 19.625 在内存中的值为:0 – 10000011 – 001 1101 0000 0000 0000 0000。
C语言浮点数float类型的秘密
|
|
宏定义应用
1、位操作
|
|
2、结构体运算
|
|
3、数据合成
|
|
4、数据转换
|
|
5、序列化提取
X-MACRO(X-宏)是一种用于维护代码或数据并行列表的可靠技术,核心优势在于确保多个关联列表始终保持顺序一致(匹配)。其应用场景广泛,可覆盖数组、枚举、结构体、普通列表及代码段生成等场景;本质是通过定义「汇总集合表」,实现使用时对某类或多类元素的批量提取与复用。
|
|
PS:关于 X-宏 更多介绍,可参考【X-MACRO 数据与代码序列化】。
6、常用宏汇总
|
|
预处理应用
1、条件判断
主要包括
#if、#elif、#else、#ifdef、#ifndef和#endif,其使用需以#define(定义宏)和#undef(取消宏定义)为前提,用于实现宏条件编译相关逻辑。
|
|
2、错误警告
主要包括
#error和#warning,二者用于在编译器编译阶段主动输出错误或警告信息,帮助开发者快速定位代码问题。
|
|
3、文件名/行号
主要包括
#line指令,标准语法为#line 行号 "文件名"(行号必填),用于重定义当前文件的行号与文件名。
|
|
4、字符拼接
在 C 语言预处理阶段,
#(字符串化运算符)与##(连接运算符)是两类特殊的预处理操作符,其核心特性会阻止参数在预处理阶段的递归扩展—— 这一特性要求开发者在实际应用时需重点关注参数传递规则,避免因未预期的宏替换行为导致语法错误或逻辑异常。
|
|
5、头文件应用技巧
5.1、头文件一般格式
|
|
5.2、头文件里声明变量技巧
|
|
5.3、内联函数(内嵌函数)
__inline(内联/内嵌函数)在编译时会将函数代码直接嵌入主调函数中(而非调用),属于“空间换时间”的实现方式,效果类似宏定义代码;其中static __inline修饰的内联函数不会生成函数本身的代码,仅嵌入调用处,因此实际中常用该写法。此外,__inline是 C99 新增关键字(C89 不支持),部分编译器支持度不一,通常会用宏来定义:do {……} while(0)。
|
|
● 根据编译器/环境判断是否支持 inline 的使用技巧
|
|
指针与地址
1、数组及其地址
|
|
2、结构体指针
|
|
3、函数指针
|
|
函数指针高级应用,利用函数指针实现命令行调试工具
|
|
PS:针对单片机等轻量级嵌入式应用场景,可先将 debug_cmd_func_t 函数类型定义改为空指针(如:typedef void* debug_cmd_func_t);在定位到具体函数调用处时,通过 switch-case 分支结构调用参数个数不同的函数,参数传递直接使用原始数据即可(例如统一以 uint32_t 类型传递)。
4、少字节数据向多字节数据赋值
总原则:
『少字节:负数』赋值『多字节:有符号变量』才会【多出的高位填充1】,其它情况都是【多出的高位填充0,即直接赋值】。
|
|
5、结构体元素/地址对齐
3.1、变量地址单字节对齐(常用于二进制指令定义)
|
|
3.2、起始地址多字节对齐(针对处理器硬件的快速正确访问)
|
|
PS:关于地址对齐更多知识,请稳步【attribute-aligned 编译属性-地址对齐】。
打印与格式
1、打印函数
1.1、打印函数与头文件:
|
|
1.2、自定义打印函数:
|
|
2、调试信息
主要包括
__FILE__、__LINE__、__FUNCTION__、__DATE__、__TIME__、__VER__这些预定义宏;其中__VER__用于标识 IDE 版本信息,数据类型为整型。需注意:部分编译器可能会将上述预定义宏以小写形式定义(例如__file__)。
|
|
3、变参数宏
主要由 C99 规范提供的
__VA_ARGS__宏来实现,注意 C89 不支持!
|
|
4、字符编码
|
|
5、数值格式
|
|
6、断言打印
|
|
缩写字典
1、常用编程单词缩写字典
| 字母 | 英文描述 | 标准缩写 | 备注(使用场景/说明) |
|---|---|---|---|
| A | Average | Avg | 平均值计算(如传感器数据均值) |
| Addition | Add | 加法运算、数据新增 | |
| Accumulator | Acc | 累加器(硬件/算法场景) | |
| Address | Addr | 地址(内存地址、网络地址) | |
| Action | Act | 动作、操作(接口/函数命名) | |
| Active | Actv | 激活状态(修正原重复缩写,与Action区分) | |
| Amplitude | Amp | 振幅(传感器、信号处理) | |
| Analog Input | AI | 模拟输入(硬件I/O) | |
| Analog I/O | AIO | 模拟输入输出(嵌入式硬件) | |
| All | All | 全部、所有(参数/变量命名) | |
| Alarm | Alm | 报警(设备状态提示) | |
| Allocate | Alloc | 分配(内存、资源分配) | |
| Analog Output | AO | 模拟输出(硬件I/O) | |
| Apparent | App | 表观的(如表观功率) | |
| Argument | Arg | 参数(函数参数) | |
| Arrange | Arrng | 排列、配置(数据/硬件布局) | |
| Array | Arr | 数组(简化原全称,代码命名常用) | |
| Assemble | Asm | 汇编(汇编语言、编译过程) | |
| Attribute | Attr | 属性(简化原Attrib,更通用) | |
| B | Back | Bk | 后退、背面(如备份、回退功能) |
| Background | Bg | 后台(进程、任务) | |
| Break | Brk | 中断、跳出(循环/程序流程) | |
| Bar | Bar | 条、棒(图表、硬件组件) | |
| Bit | Bit | 位(二进制单位) | |
| Block | Blk | 块(数据块、内存块) | |
| Buffer | Buf | 缓冲区(数据缓存) | |
| Button | Btn | 按钮(硬件按键、UI组件) | |
| Bypass | Bypass | 旁路(硬件电路、流程跳过) | |
| C | Calibration | Cal | 校准(传感器、设备校准) |
| Calculate | Calc | 计算(算法、数据处理) | |
| Configuration | Cfg | 配置(设备、程序配置) | |
| Channel | Ch | 通道(通信、信号通道) | |
| Change | Chg | 改变、修改(状态/数据变更) | |
| Check | Chk | 检查(校验、状态检测) | |
| Clock | Clk | 时钟(硬件时钟、定时器) | |
| Clear | Clr | 清除(数据、状态清零) | |
| Clear Screen | Cls | 清屏(控制台操作) | |
| Command | Cmd | 命令(指令、控制命令) | |
| Compare | Cmp | 比较(数据比较、条件判断) | |
| Complete | Comp | 完成(任务、流程结束) | |
| Count | Cnt | 计数(数量统计) | |
| Counter | Ctr | 计数器(硬件/软件计数器) | |
| Column | Col | 列(表格、数组列) | |
| Communication | Comm | 通信(设备间通信) | |
| Connect | Conn | 连接(简化原Con,更规范) | |
| Construct | Cons | 构造(对象构造、结构创建) | |
| Control | Ctrl | 控制(控制逻辑、硬件控制) | |
| Context | Ctx | 上下文(程序上下文、环境变量) | |
| Convert | Conv | 转换(数据格式、单位转换) | |
| Copy | Cp | 复制(文件、数据拷贝) | |
| Current | Cur | 当前(当前值、当前状态) | |
| Cursor | Csr | 光标(控制台、UI光标) | |
| Control Word | CW | 控制字(硬件控制寄存器) | |
| Color | Clr | 颜色(统一缩写,去除歧义) | |
| D | Data | Data | 数据(全称更通用,保留缩写Dat备用) |
| Date | Date | 日期(时间相关) | |
| Day | Day | 日(时间单位) | |
| Day-of-week | DOW | 星期(时间格式) | |
| Delay | Dly | 延迟(定时延迟、等待时间) | |
| Debounce | Deb | 消抖(简化原全称,硬件按键消抖常用) | |
| Decrease | Dec | 递减(数值减少) | |
| Decimal | Dec | 十进制(数值格式,与Decrease根据上下文区分) | |
| Decode | Decode | 解码(数据、信号解码) | |
| Define | Def | 定义(宏定义、常量定义) | |
| Degree | Deg | 度(角度、温度单位) | |
| Delete | Del | 删除(数据、文件删除) | |
| Destination | Dst | 目标(目标地址、目标设备) | |
| Descriptor | Desc | 描述符(数据描述、设备描述符) | |
| Device | Dev | 设备(硬件设备) | |
| Discrete Input | DI | 离散输入(硬件I/O) | |
| Digit | Dig | 数字(位、数字量) | |
| Discrete I/O | DIO | 离散输入输出(嵌入式硬件) | |
| Discrete Output | DO | 离散输出(硬件I/O) | |
| Disable | Dis | 禁用(功能、设备禁用) | |
| Display | Disp | 显示(屏幕、显示模块) | |
| Discovery | Disc | 发现(设备发现、服务发现) | |
| Division | Div | 除法、除数(运算相关) | |
| Document | Doc | 文档(文件、说明文档) | |
| Down | Down | 向下、关闭(状态、方向) | |
| Dummy | Dummy | 占位、虚拟(测试数据、虚拟设备) | |
| Dynamic | Dyn | 动态(动态配置、动态内存) | |
| E | Edge | Edge | 边沿(信号边沿、触发边沿) |
| Edit | Edt | 编辑(数据、文件编辑) | |
| Effective | Eff | 有效(有效值、有效状态) | |
| Electric | Elec | 电气(电气设备、电路) | |
| Empty | Empty | 空(状态判断) | |
| Enable | En | 启用(功能、设备启用) | |
| Engine | Eng | 引擎(核心逻辑、驱动引擎) | |
| Enter | Enter | 进入、输入(操作指令) | |
| Entries | Entries | 条目(数据条目) | |
| Equivalent | Equiv | 等效(等效电路、等效值) | |
| Error | Err | 错误(错误码、异常状态) | |
| Ethernet | Eth | 以太网(网络接口) | |
| Engineering Units | EU | 工程单位(传感器测量单位) | |
| Event | Event | 事件(触发事件、中断事件) | |
| Extension | Ext | 扩展(功能扩展、文件扩展名) | |
| Exit | Exit | 退出(程序、函数退出) | |
| Exception | Exc | 异常(程序异常、异常处理) | |
| Expiration | Exp | 过期(时间过期) | |
| Exponent | Exp | 指数(数学运算,与Expiration根据上下文区分) | |
| F | Field | Fld | 字段(数据字段、寄存器字段) |
| Flag | Flg | 标志位(状态标志、标志位) | |
| Flush | Flush | 刷新(缓冲区刷新) | |
| Function | Func | 函数(简化原Fnct,更通用) | |
| Format | Frm | 格式(数据格式、文件格式) | |
| Fraction | Fract | 分数、小数(数值类型) | |
| Free | Free | 空闲(内存空闲、资源空闲) | |
| Frequency | Freq | 频率(信号频率、采样频率) | |
| Full | Full | 满(状态判断) | |
| G | Gain | Gain | 增益(放大器增益、信号增益) |
| Get | Get | 获取(数据获取、接口调用) | |
| Generate | Gen | 生成(数据生成、信号生成) | |
| Grid | Grd | 网格(布局、数据网格) | |
| Group | Grp | 组(设备组、数据组) | |
| H | Handler | Handler | 处理器(中断处理、事件处理) |
| Harmonic | Harm | 谐波(电力、信号谐波) | |
| Hexadecimal | Hex | 十六进制(数值格式) | |
| High | Hi | 高(电平、优先级) | |
| History | Hist | 历史(历史数据、日志) | |
| Hit | Hit | 命中(缓存命中、触发命中) | |
| High Priority Task | HPT | 高优先级任务(实时系统) | |
| Hour | Hr | 小时(时间单位) | |
| I | Identification | Id | 标识(设备ID、用户ID) |
| Idle | Idle | 空闲(设备空闲、线程空闲) | |
| Impulse | Imp | 脉冲(脉冲信号) | |
| Image | Img | 图像(图像数据、显示图像) | |
| Increment | Inc | 递增(数值增加) | |
| Information | Info | 信息(状态信息、提示信息) | |
| Initialization | Init | 初始化(程序、设备初始化) | |
| Insert | Ins | 插入(数据插入、文件插入) | |
| Input | In | 输入(数据输入、硬件输入) | |
| Instruction | Instr | 指令(CPU指令、控制指令) | |
| Interrupt | Int | 中断(硬件中断、软件中断) | |
| Invert | Inv | 反转(信号反转、状态反转) | |
| Interrupt Service Routine | ISR | 中断服务程序(嵌入式开发核心) | |
| Index | Idx | 索引(数组索引、数据索引,修正原Ix更通用) | |
| J | Jump | Jmp | 跳转(程序跳转、指令跳转) |
| Join | Join | 连接(线程连接、数据合并) | |
| K | Key | Key | 键(键盘按键、密钥) |
| Keyboard | Kbd | 键盘(输入设备,修正原Kdb更规范) | |
| Kilo | K | 千(单位前缀,如Kb、KHz) | |
| L | Label | Lab | 标签(变量标签、设备标签) |
| Length | Len | 长度(数据长度、数组长度) | |
| List | Lst | 列表(数据列表,统一缩写去除歧义) | |
| Library | Lib | 库(函数库、静态库) | |
| Limit | Lim | 限制(上限、下限) | |
| Low | Lo | 低(电平、优先级) | |
| Lower | Lower | 小写、下方(状态转换,与Lo区分) | |
| Lock | Lock | 锁定(资源锁定、互斥锁) | |
| Low Priority Task | LTP | 低优先级任务(实时系统) | |
| M | Manager | Mgr | 管理器(设备管理器、资源管理器,统一缩写) |
| Magnitude | Mag | 幅值(信号幅值、数值大小) | |
| Mantissa | Mant | 尾数(浮点数值组成部分,与Manual区分) | |
| Manual | Man | 手动(手动模式、手动控制) | |
| Manufacture | Mfg | 制造(制造商、生产信息) | |
| Maximum | Max | 最大值(上限值) | |
| Mailbox | Mbox | 邮箱(进程间通信、消息队列) | |
| Minimum | Min | 最小值(下限值) | |
| Mode | Mode | 模式(工作模式、运行模式) | |
| Month | Month | 月(时间单位) | |
| Move | Mov | 移动(数据移动、设备移动) | |
| Message | Msg | 消息(通信消息、日志消息) | |
| Measure | Meas | 测量(传感器测量、数据采集) | |
| Mask | Msk | 掩码(位掩码、权限掩码) | |
| Multiplication | Mul | 乘法(运算操作) | |
| Multiplex | Mux | 多路复用(硬件多路器、信号复用) | |
| Make | Mk | 创建(文件创建、对象创建) | |
| N | Negative | Neg | 负(负数值、负极性) |
| Number | Num | 数字、数量(数值标识) | |
| Nesting | Nest | 嵌套(嵌套结构、嵌套调用,简化原全称) | |
| Neutral | Neut | 中性(中性状态、零电位) | |
| New | New | 新建(对象新建、数据新增) | |
| Next | Next | 下一个(序列、步骤) | |
| O | Offset | Offset | 偏移(地址偏移、数值偏移) |
| Old | Old | 旧的(历史数据、旧版本) | |
| Operating System | OS | 操作系统(系统环境) | |
| Optimize | Opt | 优化(代码优化、性能优化) | |
| Original | Orig | 原始(原始数据、原始配置) | |
| Output | Out | 输出(数据输出、硬件输出) | |
| Overflow | Ovf | 溢出(内存溢出、数值溢出) | |
| P | Password | Pwd | 密码(身份验证) |
| Picture | Pic | 图片(图像数据、显示图片) | |
| Point | Pt | 点(坐标点、数据点) | |
| Prn | 打印(文件打印、日志输出) | ||
| Program | Prog | 程序(应用程序、控制程序,简化原Prg更规范) | |
| Package | Pkg | 包(软件包、设备包) | |
| Parameter | Param | 参数(函数参数、配置参数) | |
| Pass | Pass | 通过(校验通过、权限通过) | |
| Performance | Perf | 性能(系统性能、运行效率) | |
| Period | Per | 周期(采样周期、运行周期) | |
| Phase | Ph | 相位(信号相位、电力相位) | |
| Port | Port | 端口(通信端口、硬件接口) | |
| Position | Pos | 位置(物理位置、坐标位置) | |
| Positive | Pos | 正(正数值、正极性,与Position根据上下文区分) | |
| Power | Pwr | 电源、功率(硬件电源、功率计算) | |
| Previous | Prev | 上一个(序列、步骤) | |
| Priority | Prio | 优先级(任务优先级、中断优先级) | |
| Printer | Prt | 打印机(输出设备) | |
| Process | Proc | 进程(系统进程、处理流程) | |
| Product | Prod | 产品、乘积(产品型号、数学运算) | |
| Protocol | Prot | 协议(通信协议、网络协议) | |
| Pointer | Ptr | 指针(内存指针、数据指针) | |
| Put | Put | 放置(数据写入、对象放置) | |
| Q | Queue | Q | 队列(数据队列、任务队列) |
| Quality | Qlty | 质量(数据质量、设备质量) | |
| Quarter | Qtr | 季度(时间单位,简化原Quar更规范) | |
| R | Raw | Raw | 原始(原始数据、未处理数据) |
| Reactive | React | 无功(无功功率、反应式) | |
| Recall | Rcl | 召回(配置召回、数据恢复) | |
| Rectangle | Rect | 矩形(图形、区域定义) | |
| Read | Rd | 读取(数据读取、寄存器读取) | |
| Ready | Rdy | 就绪(设备就绪、任务就绪) | |
| Reference | Ref | 引用(指针引用、参考值) | |
| Register | Reg | 寄存器(硬件寄存器、配置寄存器) | |
| Request | Req | 请求(接口请求、服务请求) | |
| Reset | Rst | 复位(设备复位、状态重置,简化原全称) | |
| Reserve | Resv | 保留(资源保留、寄存器位保留) | |
| Resume | Resume | 恢复(任务恢复、流程继续) | |
| Response | Resp | 响应(接口响应、设备响应) | |
| Return | Rtn | 返回(函数返回、数据返回) | |
| Reverse | Rev | 反转(方向反转、数据反转,简化原Revs) | |
| Ring | Ring | 环形(环形缓冲区、环形网络) | |
| Row | Row | 行(表格、数组行) | |
| Repeat | Rpt | 重复(操作重复、数据重复) | |
| Real-Time | RT | 实时(实时系统、实时数据) | |
| Running | Run | 运行(运行状态,简化原全称) | |
| Receive | Rx | 接收(数据接收、通信接收) | |
| S | Server | Srv | 服务器、服务(网络服务、设备服务,统一缩写) |
| Source | Src | 源(源地址、数据源,修正原Sourse拼写错误) | |
| Statistic | Stat | 统计(统计数据) | |
| String | Str | 字符串(数据类型) | |
| Sample | Smp | 采样(传感器采样、数据采样) | |
| Scale | Scale | 缩放、量程(数据缩放、传感器量程) | |
| Scale Factor | SF | 比例因子(采样比例、转换因子) | |
| Scaling | Scaling | 标定、缩放(数据标定过程) | |
| Scan | Scan | 扫描(设备扫描、数据扫描) | |
| Schedule | Sched | 调度(任务调度、时间调度) | |
| Screen | Scr | 屏幕(显示屏幕) | |
| Second | Sec | 秒(时间单位) | |
| Segment | Seg | 段(内存段、数据段) | |
| Select | Sel | 选择(功能选择、数据选择) | |
| Semaphore | Sem | 信号量(进程同步、资源同步) | |
| Sequence | Seq | 序列(指令序列、数据序列) | |
| Set | Set | 设置(参数设置、状态设置) | |
| Setting | Sett | 设置项(配置项,与Set区分) | |
| Signal | Sig | 信号(硬件信号、通信信号) | |
| Size | Size | 大小(文件大小、内存大小) | |
| Seven-segments | SS | 七段显示(数码管显示) | |
| Start | Start | 启动(程序启动、设备启动) | |
| Status | Stat | 状态(设备状态、运行状态,与Statistic区分) | |
| Stack | Stk | 栈(内存栈、调用栈) | |
| Standard | Std | 标准(标准接口、标准格式) | |
| Stop | Stop | 停止(程序停止、设备停止) | |
| Subtraction | Sub | 减法(运算操作) | |
| Suspend | Suspend | 挂起(任务挂起、流程暂停) | |
| Switch | Sw | 开关(硬件开关、功能切换) | |
| Synchronize | Sync | 同步(数据同步、设备同步,简化原Synch) | |
| System | Sys | 系统(硬件系统、软件系统,简化原Syst) | |
| T | Temperature | Temp | 温度(传感器测量值) |
| Text | Txt | 文本(文本数据、文本文件) | |
| Task | Task | 任务(系统任务、线程任务) | |
| Table | Tbl | 表格(数据表格、查找表) | |
| Threshold | Thresh | 阈值(触发阈值、报警阈值,简化原Th更清晰) | |
| Tick | Tick | 时钟滴答(定时器滴答、时间片) | |
| Time | Time | 时间(时间戳、运行时间) | |
| Timer | Tmr | 定时器(硬件定时器、软件定时器) | |
| Toggle | Tgl | 切换(状态切换、功能切换) | |
| Total | Tot | 总计(总和、累计值) | |
| Trigger | Trig | 触发(事件触发、中断触发) | |
| Time-stamp | TS | 时间戳(数据时间戳、日志时间戳) | |
| Timeout | TO | 超时(通信超时、等待超时) | |
| U | Unlock | Unlock | 解锁(资源解锁、互斥锁释放) |
| User | Usr | 用户(用户配置、用户权限) | |
| Up | Up | 向上、开启(状态、方向) | |
| Update | Upd | 更新(数据更新、配置更新,简化原全称) | |
| Utility | Util | 工具(工具函数、辅助工具) | |
| Universal | Uni | 通用(通用接口、通用配置) | |
| V | Value | Val | 值(参数值、测量值) |
| Vector | Vect | 向量(数据向量、坐标向量) | |
| Version | Ver | 版本(软件版本、设备版本) | |
| Variable | Var | 变量(程序变量、状态变量) | |
| Visible | Vis | 可见(UI可见、状态可见) | |
| Voltage | Volt | 电压(硬件电压、测量值,简化原Vol更清晰) | |
| W | Watchdog | Wdg | 看门狗(硬件看门狗、系统监控,统一缩写) |
| Window | Win | 窗口(UI窗口、数据窗口,统一缩写) | |
| Write | Wr | 写入(数据写入、寄存器写入) | |
| Wireless | Wifi/Ble | 无线(Wi-Fi/Bluetooth,软硬件开发常用) | |
| X | Execute | Exec | 执行(程序执行、指令执行) |
| Exclusive | Excl | 独占(独占资源、独占访问) | |
| Y | Year | Year | 年(时间单位) |
| Yes | Y | 是(状态判断、选项) | |
| Z | Zero | Zro | 零(零值、零电位) |
| Zone | Zone | 区域(控制区域、划分区域) |
PS:关于 C 语言编程风格,请稳步【本人C语言编程规范】。