主要的程式碼 64位系統下
@interface Person:NSObject
{//isa ---------- 8
int _age;//4
int _weight;//4 ---
int _height;//-----8
}
------------------------------------------------------------------
Person * p = [[Person alloc]init];
// 運算子 --編譯時 就計算完成 類似 巨集定義 ---例如 指標 64位 下就是輸出 8
NSLog(@"%lu",sizeof(p));
// 實際佔用的記憶體空間 --- Person這個物件裡面3個成員變數 ,isa指標,根據結構體的記憶體對齊
// 輸出 24
NSLog(@"%zu",class_getInstanceSize([Person class]));
// iOS 系統分配的空間 根據原始碼的看 結論是 16的倍數 最少 是 16; 輸出 32 (距離24 最近的就是32)
NSLog(@"%zu",malloc_size((__bridge const void *)(p)));```
複製程式碼