一 Student 占用的内存空间

补充:

1 成员变量占用字节的大小:

2 内存对齐的规则:结构体的内存大小必须是最大成员变量的内存的倍数。

一个 Student 类,继承自NSObject,有两个属性,首先要知道,int 类型占用的字节是4个字节

以下打印结果都是16 ,一个int 类型的成员变量占用4个字节,两个占用8个字节,加上父类的isa 指针,一共16个字节


#import <Foundation/Foundation.h>#import <objc/runtime.h>
#import <malloc/malloc.h>@interface Student:NSObject
{@publicint _no;int _age;
}
@end@implementation Student@endint main(int argc, const char * argv[]) {@autoreleasepool {// insert code here...NSObject *obj = [[NSObject alloc]init];Student *stu = [[Student alloc]init];NSLog(@"%zu",malloc_size((__bridge const void *)(stu)));NSLog(@"%zu",class_getInstanceSize([Student class]));}return 0;
}

2  思考 ?

以下还是占用 16个字节的内存空间

person 占用16个字节是因为内存对齐

student 占用16个字节是因为确确实实就是16个字节

2 OC 对象的本质(一个Student 占用的内存大小)相关推荐

  1. 1 OC 对象的本质(一个NSObject 对象占用的内存大小)

    1 前言 目录 1 前言 2 一个NSObject占用多少内存 3 为什么呢 ? 4 如何在内存中看呢? OC 的面向对象都是基于C/C++ 的数据结构实现的 结构体 2 clang 命令转换成c++ ...

  2. android获取当前应用占用的内存大小,Android分析已安装应用占用内存

    问题 Android开发时可以通过AndroidStudio提供的一些系列工具查看应用的内存占用,十分的方便. 但是如果是对一个成品的已安装App快速查看内存占用呢,下面简单讲两种方式. 方案一:to ...

  3. java程序占用实际内存大小

    一.java程序占用实际内存大小 1.1.java命令启动参数-Xms -Xmx的问题         启动命令如下:java -server -Xms128m -Xmx128m -jar ****. ...

  4. Android中一张图片占用的内存大小

    最近面试过程中发现对Android中一些知识有些模棱两可,之前总是看别人的总结,自己没去实践过,这两天对个别问题进行专门研究 探讨:如何计算Android中一张图片占据内存的大小 解释:此处说的占据内 ...

  5. 通过显示当前 python 程序占用的内存大小来比较生成器和迭代器(转载)

    # 显示当前 python 程序占用的内存大小 import osimport psutil as psutildef show_memory_info(hint):# 获取当前进程的进程号pid = ...

  6. 如何使用Redis Data Reveal(rdr)查看redis中每个key占用的内存大小

    如何使用Redis Data Reveal(rdr)查看redis中每个key占用的内存大小 一.为什么要查看redis中每个key的占用 二.怎么查看redis中每个key的占用 一.为什么要查看r ...

  7. android bitmap内存大小,Android——Bitmap占用的内存大小

    一.作用 知其然 二.概念 1. 几个小概念 像素:组成画面的基本单位,像素没有物理尺寸.可以任意缩放去适配显示屏的像素点大小.不同设备上一个单位像素色块的大小是不一样的 (2)dp 设备独立像素,用 ...

  8. OC对象的本质及分类

    Object-C的底层都是通过C/C++来实现的,所以OC中的对象也会转化成C/C++中的某一个数据结构, 我们在终端里通过指令 xcrun -sdk iphoneos clang -arch arm ...

  9. iOS底层原理总结 - OC对象的本质

    苹果官方文档 The Objective-C language defers as many decisions as it can from compile time and link time t ...

最新文章

  1. unity开发小贴士之八 Audio使用心得
  2. 3.1.4 如何使深度学习模型达到人类水平以及超高人类水平
  3. windows下使用curl以及常用curl命令
  4. MySQL修改数据类型语句
  5. FPS武器设计:丹威森500型左轮手枪的制作流程
  6. Vimdiff---VIM的比较和合并工具
  7. HDU - 3533 Escape(预处理+A*)
  8. ios 常用操作-1
  9. python修改y轴刻度_Python | Y轴刻度限制
  10. python 源代码 macd双底 高 低_MACD指标DIFF双底与双顶:买入与卖出
  11. Ajax Control Toolkit--Slider:有朝一日倒过来
  12. python des加密文件_python DES3 加密解密
  13. 佳能MP145 /140故障代码大全
  14. JLU数据结构第六次上机实验解题报告
  15. msf-Msfvenonm生成后门木马
  16. 如何利用Python程序读取Excel创建折线图
  17. 百度地图、高德地图的数据从哪里得到的?[声明我只是此文章的搬运工]
  18. Linux查看服务器SN序列码
  19. 汉堡式折叠html,CSS/HTML - 带CSS的汉堡菜单
  20. 个人网站个人主页的建立

热门文章

  1. nodejs配置nginx 以后链接mongodb数据库
  2. eclipse安装maven
  3. php 文件限速下载代码
  4. [codevs 1913] 数字梯形问题
  5. 【转】Linux Oracle服务启动停止脚本与开机自启动
  6. hibernate join fetch
  7. Google工作原理
  8. 开始升级我的工作流系统
  9. web架构设计经验分享
  10. 重装操作系统的20条原则(转载)