不使用sizeof 判断一个数据所占的内存大小

来源:本站
导读:目前正在解读《不使用sizeof 判断一个数据所占的内存大小》的相关信息,《不使用sizeof 判断一个数据所占的内存大小》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《不使用sizeof 判断一个数据所占的内存大小》的详细说明。
简介:这个是我在笔试一家全英文笔试题的时候,绞尽脑汁才看懂的一个题目。

猛的一看这是一个比较DT的问题,一般我们看到关于测一个变量的内存大小就会想到sizeof,但是这次就是不让用sizeof了。就需要发掘新的想法。

当初在学习平台那一块知识的时候,讲到bootloader源码的时候似乎提到过一个想法,就是可以使用内存加1后的相减,得出该变量的实际内存大小。而后来我也在网上看到了一个类似的解答。

这就要保证char型所占的内存为一个字节。

#include <stdio.h>

#define size(a) (char *)(&(a)+1)-(char *)&a

int main(){

int a=0;

printf("%dn",size(a));

return 0 ;

}

提醒:《不使用sizeof 判断一个数据所占的内存大小》最后刷新时间 2024-03-14 00:58:31,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《不使用sizeof 判断一个数据所占的内存大小》该内容的真实性请自行鉴别。