主帖
1 条回复
求助一个C语法问题,C语言的数据类型名本身当作数据来加减?
#define HT_INVALID_IDX ((uint32_t) -1)
#define HT_HASH_SIZE(nTableMask)
(((size_t)(uint32_t)-(int32_t)(nTableMask)) * sizeof(uint32_t))
最近在看php7源码,发现有的地方直接用数据类型加减 ,问下有人知道什么意思吗? ((uint32_t) -2) 结果是 4294967294,也就是 2^32-2 。 目测是指 这个类型所能表示的最大值。 但想要一个确定的语法说明。
哪位大神知道,麻烦说明一下,感谢感谢。