宏有时候可以做函数做不到的事情。⽐如:宏的参数可以出现类型,但是函数做不到。#include #include #define MALLOC(num, type) (type*)malloc((num) * sizeof(type)) int main() { // 分配10个int大小的空间 int* p = MALLOC(10, int); // 使用这块内存 for (int i = 0; i < 10; i++) { p[i] = i + 1; } for (int i = 0; i < 10; i++) { printf("%d ", p[i]); } printf("\n"); // 释放内存 free(p); p = NULL; return 0; } 宏展开后 int* p = (int*)malloc((10) * sizeof(int)); MALLOC(10, int) --> (int*)malloc((10) * sizeof(int)) 也可以分配其他类型 // 分配5个double double* d = MALLOC(5, double); // 分配20个char char* c = MALLOC(20, char); 注意事项: 加括号的重要性: #define MALLOC(num, type) (type*)malloc((num) * sizeof(type)) 如果 num 传的是 3+2,不加括号就会变成 3+2 * sizeof(type),结果就不对了。
shengxunwei.com 无论您倾向于使用托管版还是自行部署(Self-hosting),都可以免费使用。
指标显示,今年暑期入境游top20全球客源国和地区中,欧洲国家占30%,订单同比增长275%。
TeXstudio 是一款开源跨平台 LaTeX 编辑软件,界面与 Texmaker 类似。
有消息人士指出,苹果正在研发拼接微透玻璃,让面容 ID 的红外传感器能穿透屏幕工作。
validate_assumptions() # 检查与已有决策的冲突 for existing in self.
时间兔附身以后,玩家的移动步数可能突然增加,也可能当场缩水。遇到心仪的兔兔,可以使用【请兔卡】主动邀请;兔兔不太合适,也可以使用【驱兔卡】礼貌送客。