, 如果数组的大小不是常数 , 在 C 语言 和 C++ 语言 中都会在编译时报错 ;
在 C/C++ 编译环境中会报错 ;
在编译 Linux 内核时 , 如果出现这种情况 , 编译会通过 , Linux...宏定义 作为 数组的大小 , 编译会通过 ;
代码示例 :
// 包含 C++ 头文件
#include "iostream"
// 使用 std 标准命名空间
// 该命名空间中 , 定义了很多标准定义...不同点
----
在 C++ 语言中 , const 关键字 与 #define 宏定义 不同点 :
const 常量 是 编译器 在 编译阶段 进行处理 , 会提供 类型检查 和 作用域检查 ;
#...define 宏定义 是 预处理器 在 预处理阶段 进行处理 , 不会进行 类型检查 和 作用域检查 , 只是进行单纯的 文本替换 ;
在下面的代码中 , 只要调用了 fun1 函数 , 执行了 #define...标准的做法是 , 在函数中使用了 宏定义 a , 如果在函数结尾不再使用该 宏定义 , 那么可以卸载该宏定义 , 使用 #undef a 可卸载宏定义 , 使用 #undef 可卸载所有宏定义 ;
void