sizeof 宏实现的方法
---------------------------------------------
-- 时间:2018-12-29
-- 创建人:Ruo_Xiao
-- 邮箱:xclsoftware@163.com
---------------------------------------------
一、源码
// 非数组的sizeof
#defne _sizeof(T) ( (size_t)((T*)0 + 1))// 数组的sizeof
#define array_sizeof(T) ( (size_t)(&T+1) - (size_t)(&T) )
二、解释
1、指针变量 + 1 ,这里 + 的是指针类型对应的字节数。
栗子:
_sizeof(double)
其过程如下:
1、(double *)0 // 0x0000 0000
2、(double *)0 + 1 // 0x0000 0008
3、(size_t)((double *)0 + 1) // 8 (十六进制转十进制)
2、对于数组对应的sizeof比较特殊,举例说明。
int iSum[3];
这里的 &iSum 的指针类型是 int(*)[5],该类型所占的字节大小是5*4=20,故 ( (size_t)(&T+1) - (size_t)(&T) ) 的值为20。
(SAW:Game Over!)
sizeof 宏实现的方法相关推荐
- office2003/2007/2010版本降低宏安全设置方法
如果在公司内部环境中,因为各种系统对Office环境的要求,需要通过降低Office宏安全性的方法来提高系统访问效率的话,可以参考一下方法设置. Office2003所需的设置如下: 1.打开 ...
- 使用宏基因组的方法快速鉴定新冠病毒SARS-CoV2
使用宏基因组的方法快速鉴定新冠病毒SARS-CoV2 一.如果不考虑成本,可以使用宏基因组测序的方法来快速鉴定新冠病毒SARS-CoV2,这种方法无需扩增.分析简单.准确度高.原理是直接将测序得到的序 ...
- c语言中sizeof函数的用法,sizeof函数怎么用 sizeof函数的使用方法
sizeof函数是pascal语言当中的一种内存容量度量的函数,这一个函数计算得到的结果是返回一个变量或者一个类型的大小;在c语言当中,sizeof函数这是一个能够判断数据类型,或者是表达式长度的一个 ...
- BMC Biology | 中科院北京基因组所李明锟组建立微量样本的宏基因组学研究方法...
从pg级DNA中获得高效.高保真的宏基因组数据:文库制备方法和去污染算法的评估 Toward efficient and high-fidelity metagenomic data from sub ...
- SlickEdit 的宏解析设置方法
2019独角兽企业重金招聘Python工程师标准>>> #define DefineProHInit(_Struct_) DefineVal(_Struct_); \void Ini ...
- G502使用计算机配置,解决方案:Logitech G502宏设置教程方法
如果您想在玩游戏时得到电竞玩家的反应和要求,可以在游戏中进行各种组合操作时使用宏操作.这种操作只是批处理,意味着设置一系列要按顺序执行的动作,因为该操作的每个步骤都是预先记录的,然后由计算机执行,所以 ...
- [置顶]C#执行Excel宏模版的方法
在项目中如果涉及到用Excel开发的报表模版来导出报表数据的话,一般都是在Excel报表中使用VBA做成宏来进行调用.即先使用Excel自带的VBA开发好报表模版,然后再将模版程序放在固定目录下,在管 ...
- office2007无法使用宏的解决方法
office2007打开时连续弹出几个对话框,分别是: "对话框打开时命令无法执行.单击'确定',然后关闭对话框以继续.". "此文档有宏.该应用程序的宏语言支持功能被取 ...
- 润乾报表数据集中参数和宏的使用方法
下面我们来看一下如何在数据集中加入参数使得报表变得更加灵活. 第一步:单击主菜单中的[配置]->[参数]. 弹出"参数编辑"窗体,如下图所示: 第二步:点击[增加]按钮 ...
最新文章
- Find Minimumd in Rotated Sorted Array
- jvm性能调优 - 03垃圾回收机制
- git 提交命令_工作总结:Git的学习和使用,最详细的Git教程,从入门到精通
- appium 搭建及实例
- 欧拉通路 java,欧拉回路
- 用Crossdev安装MIPS交叉编译工具链
- jsbridge原理_React Hooks 原理与最佳实践
- 支付宝推生物识别;Google 爆重大隐私问题;TensorFlow 2.0 即将发布 | 极客头条
- 驱动研究日记-内核同步
- python123新版个人所得税计算请输入正数_Python训练的数字组合,个人所得税计算,完全平方数,python,之...
- 亚马逊云科技荣获2021中国公有云平台用户满意度第一
- 简易应用服务器配置要求计算公式
- minigui源码学习
- Spelling Error Correction with Soft-Masked BERT
- python做日历牌_2021年来了,从Python定制一份日历开始吧!
- CMake I 获取/设置编译器
- 华天软件 SINOVATION 9.1 自主可控三维CAD内核CRUX IV 历史由来
- 【网页全屏截图问题总结】
- Kernel Crypto框架
- 合并两个排序的链表——《剑指offer》
热门文章
- Start – Modern minimalist OpenCart 2.X 自适应主题模板 ABC
- jQuery用面向对象的思想来编写验证表单的插件
- ios下获取所有实体/虚拟网卡的信息,并以此判断设备所处的网络状态
- 035、Linux下Dmidecode查看硬件信息
- 问题战略[置顶] 十八年开发经验分享(四)问题解决篇(下)
- #翻译NO.5# --- Spring Integration Framework
- looper message handler之间的关系
- 2012年初的10个绝对让你惊喜的jQuery插件
- 软件项目经理新手上路2 - 力量从哪里来?
- 专家:四大问答指出混合云的应用之路