iOS 程序中的内存地址

  1. 成员变量的内存地址分配
    // - 对象的内存地址分配图
    在这里插入图片描述
// - 1. 查看成员对象的定义
@interface MJPerson : NSObject

/** 年龄 */
@property(nonatomic, assign)int age;

/** 身高 */
@property(nonatomic, assign)int hei;

/** 体重 */
@property(nonatomic, assign)int wei;

@end

// - 2. 对象的赋值
MJPerson *person = [[MJPerson alloc] init];
person.age = 1;
person.hei = 2;
person.wei = 3;

// - 3. 对象的内存地址分配情况
person 地址 : 0x600000b9cea0
person->isa 地址 : 0x600000b9cea0  (person->isa : 指向 Person 这个类的内存地址)
person-> age 地址: 0x600000b9cea8
person-> hei 地址: 0x600000b9ceac
person->wei 地址: 0x600000b9ceb0

[结论]: 由上边的图和代码可知 对象的成员变量在内存中地址是连续的 并且是由低地址->高地址的

  1. 函数调用栈中的内存地址分配
    // - 函数调用栈的内存地址分配图
    在这里插入图片描述
// - 1. 查看函数的实现
@implementation MJPers
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值