读书人

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

发布时间: 2012-02-09 18:22:27 作者: rapoo

下面的宏是实现什么的?哪位指点下
#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个字节

读书人网 >C语言

热点推荐