C语言入门教程-指针常见错误2009年07月29日 11:47 本站整理 作者:佚名 用户评论(0) 关键字:指针常见错误错误 1:未初始化的指针一个最易犯的指针错误是试图引用未初始化(因而指向的是无效地址)的指针。例如: int*p;*p=12;指针p在声明时未初始化,指向的是一个随机的内存地址。它可能指向系统栈、全局变量、程序代码区或操作系统。执行*p=12;时,程序会不加辨别地试图在p指向的随机位置处写入一个12。这时程序有可能立即崩溃,也可能等上半小时然后崩溃,或者程序另一个部分的数据被悄然破坏而您却浑然不知。可见这种错误非常难于排查。请确保指针解引用(取出指针指向的地址中的内容)之前所有的指针已被初始化为指向有效地址。 错误 2:无效指针引用。当指向无效地址的指针仍被引用时即发生无效指针引用。 导致这类错误的一种可能是当q未初始化时执行p=q;。此时指针p也变为未初始化的。任何对*p的引用即造成无效指针引用。 避免此类错误的惟一途径是用画图的方法记录每个步骤的指针引用情况,并确保全部指针都各有所指。由于和错误1同样的原因,无