首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

下面的宏是实现什么的?哪位指点下,该怎么解决

2012-02-09 
下面的宏是实现什么的?哪位指点下#define ROUNDUP(x,y) ((((x)+((y)-1))/(y))*(y))[解决办法]探讨如果是整

下面的宏是实现什么的?哪位指点下
#define ROUNDUP(x,y) ((((x)+((y)-1))/(y))*(y))



[解决办法]

探讨

如果是整型, 可以理解为是把x向y取整。

[解决办法]
探讨

引用:

如果是整型, 可以理解为是把x向y取整。


x 向 y取整, 即 在y的整倍数中, 找到一个大于或等于x的最小值。

[解决办法]
#define ROUNDUP(x,y) ((((x)+((y)-1))/(y))*(y))

可以理解为一种数据对齐

比如:
你要分配10个字节的内存,但是你的内存是按块分配的,每块长度为8字节

那么执行ROUNDUP(10,8);之后就会获得两个内存块;即使你并没有用到16个字节

热点排行