一、野指针
1)C语言中的野指针:定义1个指针变量,没有初始化,这个指针变量的值,是一个垃圾值,指向1块儿随机的空间,这个指针,就叫做野指针。 2)OC当中的野指针:指针指向的对象,已经被回收了。这样的指针,就叫做野指针。 例如,有一个Person类: Person .h文件: @interface Person : NSObject – (void)sayHi; @end
Person.m文件: @implementation Person – (void)dealloc { NSLog(@“人挂了。。。”); [super dealloc]; } – (void)sayHi { NSLog(@“大家好。。。”); } @end
main.m文件: #import #import “Person.h” int main() { Person *p1 = [Person new];
[p1 release];
}
执行[p1 release];这句话之后,p1指针指向的对象就被回收掉了,这是p1指针就是一个野指针。
二、对象回收的本质1)什么叫做对象的回收: 内存回收的本质:申请1个变