Open Code Review:用规则即代码重塑代码评审范式
2026/10/19 4:17:45
char占1 字节(8 位)signed char:-128 ~ 127unsigned char:0 ~ 255short占 2 字节,范围:-32768 ~ 32767unsigned short:0 ~ 65535int通常 4 字节,范围:-2¹⁴⁷⁴⁸³⁶⁴⁸ ~ 2¹⁴⁷⁴⁸³⁶⁴⁷unsigned int:0 ~ 4294967295malloc / calloc / realloc申请 →堆区(heap)const int a:a 不可修改const int *p:指针指向的内容不可改int *const p:指针本身地址不可改const int *const p:内容和地址都不能改#define是宏替换,编译前简单文本替换typedef是类型别名,有类型检查typedef unsigned char u8;常用在单片机a[i]等价于*(a+i)NULL,值为 0inline:减少函数调用开销i++:先用后加++i:先加后用&&逻辑与:左边假,右边不执行(短路)||逻辑或:左边真,右边不执行&按位与|按位或^按位异或~按位取反<<左移(等价乘 2)>>右移(等价除 2)a ^ a = 0,a ^ 0 = a#include:头文件包含#define:宏定义#ifdef / #ifndef / #endif:条件编译#pragma once:防止头文件重复包含struct:不同类型打包在一起enum:限制取值范围,默认从 0 开始union:所有成员共用同一段内存\0结尾"abc"实际占 4 字节:a b c \0strlen不计\0sizeof计算总长度,包含\0strlen / strcpy / strcat / strcmpFILE *fpr读 /w写 /a追加fopen / fclose / fread / fwrite / fprintf / fscanfsfr定义特殊功能寄存器sbit定义位变量(如 P1^0)code关键字:把数据存在 Flash,不占 RAMidata / xdata / pdata:51 不同 RAM 区域interrupt关键字for(int i=0;…)在 Keil C51 中不支持malloc未free