不使用sizeof 判断一个数据所占的内存大小
来源:互联网 发布:数据产业链包括什么? 编辑:程序博客网 时间:2024/06/05 14:21
这个是我在笔试一家全英文笔试题的时候,绞尽脑汁才看懂的一个题目。
猛的一看这是一个比较DT的问题,一般我们看到关于测一个变量的内存大小就会想到sizeof,但是这次就是不让用sizeof了。就需要发掘新的想法。
当初在学习平台那一块知识的时候,讲到bootloader源码的时候似乎提到过一个想法,就是可以使用内存加1后的相减,得出该变量的实际内存大小。而后来我也在网上看到了一个类似的解答。
这就要保证char型所占的内存为一个字节。
#include <stdio.h>
#define size(a) (char *)(&(a)+1)-(char *)&a
int main(){ int a=0; printf("%d\n",size(a)); return 0 ;}
- 不使用sizeof 判断一个数据所占的内存大小
- sizeof计算对象所占内存大小详解
- C++类所占内存大小计算,sizeof关键字
- 影响类所占内存大小的因素
- C++类的所占内存大小计算)
- C++中对象所占的内存大小
- YUV所占内存大小
- 类所占内存大小
- 变量所占内存大小
- [C++][基础概念](一)结构体所占内存大小的判断
- sizeof struct 占内存大小问题
- 看一个对象的占内存大小
- 空类型所占内存大小
- C++中基本的数据类型和所占的内存大小
- 如何查看iOS程序运行时所占的内存大小
- 基础备忘:结构体、指针所占的内存大小
- 有虚函数的类所占内存大小
- 如何查看java对象所占的内存大小
- Linux 文件访问--- 系统调用
- MFC中OnTimer的应用
- 今天是个好日子
- IOS社区网站
- android 拍照上传照片(MiME文件上传类库,实现文件上传)
- 不使用sizeof 判断一个数据所占的内存大小
- JScrollPane的使用
- 父子与驴的故事
- UVa 674 - Coin Change
- Oracle:ORA-24324: 未初始化服务句柄 ORA-24323: 不允许此值 ORA-01090: 正在关闭 - 不允许连接
- 常用汉字的unicode 编码
- 笑谈软件工程:烽烟中的敏捷
- Socket中的send和recv方式解释
- java操作excel文件(一)