17.7 ``Segmentation violation",
``Bus error" 和
``General protection fault"
意味着什么?
通常, 这意味着你的程序试图访问不该访问的内存地址, 一般是由于堆栈出错或是
不正确的使用指针。
可能的原因有: 局部数组溢出 (用堆栈分配的自动变量);
不小心, 用了空指针 (参见问题 5.2 和 5.15)、
未初始化指针、地址未对齐的指针或其它没有适当分配的
指针 (参见问题 7.1 和 7.2);
malloc 内部被破坏 (参见问题 7.16);
函数调用参数不匹配, 特别是如果用了指针, 两个可能出错的函数是
scanf() (参见问题 12.11) 和 fprintf() (确定他的第
一个参数是 FILE *)。
参见问题 16.3 和 16.4。
翻译朱群英、孙云, LaTeX2HTML 编译 朱群英 (2005-06-23)