UIImageView * imgv=[[UIImageView alloc]init];
imgv是指针,指针指向的是对象。
[[UIImageView alloc]init]; 创建了一个对象
imgv = 写在前面,等于把imgv指向了那个对象。所以imgv是指针
而对象藏在内存的某个角落里面,需要通过指针来访问
指针指向了对象在内存中的一个地址 通过这个指针找到内存中的对象 以后写代码对指针进行操作就相当于对指针指向的对象进行操作
通过指针来找到对象而不是表示对象。
#import <Foundation/Foundation.h>
#import "Person.h" //导入类的接口部分即可
int main(int argc, const charchar * argv[]) {
@autoreleasepool {
/*下面这行代码实际上是产生两个东西:person变量、Person对象
1.person对象时包含成员变量的,而成员变量要内存来存储。
2.可以认为:Person*类型对变量指向实际的对象。
3.本质上讲:类是一种指针类型的变量,程序中定义的Person* 类型只是存放一个地址值,保存在main()函数的动态
存储区,它指向实际的Person对象,而真正对Person对象则存放堆(heap)内存中。
4.也就是说:所有对象都只能通过指针变量来访问它们。
5.堆内存中可以有多个指针,即多个指针指向同一对象,如Person* p2 = person。
6.如果堆内存里的对象没有任何变量指向该对象,那么程序就无法访问该对象,就要释放内存,否则就造成内存泄漏。
*/
Person* person = [[Person alloc] init];
}
return 0;
}