最近敲代码老是越到EXC_BAD_ACCESS这个错误。老师说过,看到这个错误想都不用想就是”野指针“错误了。对于这种错误,本人头都大了,不知道你们什么感受。。
总之,为了有效防止这种”野指针“错误,我还是觉得要理解这个错误是怎么造成的,这样才能更有效的防止”野指针“错误的发生,不是么?:lol
”野指针“:不是NULL指针,是指向”垃圾“的指针。
”野指针“的成因主要有以下几种:
(1)指针变量没有初始化,就拿来使用。
(好吧,这个错误我也经常犯。。:P)
建议:要把指针设置为NULL,要么就让指针指向合法的内存。
(2)指针p指向的内存空间被释放了,指针变量p没有置为NULL。
(这种做法很可能让人误认为指针变量p还是一个合法的指针。。)
建议:用完了,还是还回去的好。。:)(推荐,还是加上一句p = nil;吧)
(3)操作指针时,超越了变量的作用范围。
(这种错误,真可以说是防不胜防。自己还在那里挠头了N久。。一直没想明白的错误)
建议:别人家的空间,还是别访问的好,偷窥人家隐私是不好的。。:lol
鄙人也就总结了这些,有补充的,赶紧告诉大家。。
|