((sizeof(n)+sizeof(int)-1)&~(sizeof(int)-1))

本文探讨了内存对齐的概念及其重要性,并详细解析了表达式((sizeof(n)+sizeof(int)-1)&~(sizeof(int)-1))如何实现内存对齐。通过举例说明,阐述了该表达式的计算过程,解释了它如何确保内存分配符合int的倍数,从而达到内存对齐的目的。
摘要由CSDN通过智能技术生成

((sizeof(n)+sizeof(int)-1)&~(sizeof(int)-1))的使用要追溯到

va_start(vp, n);  的使用,在我不断不断的转定义后出现了

 #define _INTSIZEOF(n)          ((sizeof(n) + sizeof(int) - 1) & ~(sizeof(int) - 1))

问题就是 _INTSIZEOF(n)  是干嘛的

答案是内存对齐

那么什么是内存对齐呢?为什么要内存对齐呢?

 戳这!      https://blog.csdn.net/QQ1910084514/article/details/80375800



回到正题我要解读的是((sizeof(n)+sizeof(int)-1)&~(sizeof(int)-1))为什么实现了内存对齐

1.举个栗子解释一下内存对齐是什么

      比方说有一个箱子可以装4个瓶子,我有8个瓶子<

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值