未定义行为是指 C 标准对其结果不作任何约束的代码,这意味着编译器可以随意产生任何结果,包括看似正确的输出、程序崩溃,或只在特定条件下才显现的隐蔽损坏。常见成因包括有符号整数溢出、读取未初始化的内存、数组越界访问以及解引用无效指针。由于未定义行为在测试阶段可能看起来一切正常,之后却突然出错,或者换一个编译器就失败,它是 C 中最难诊断的 bug 的重要来源之一。
登录查看节点详情
首阶段节点可试读;登录后解锁全部路线图节点正文与进度同步。