c之(类型)-1?

一个困扰很久的问题终于解决了,感谢万能的网络~

在看项目代码的时候,看到很多宏定义“类型-1”,很纳闷,类型还能做减法??

typedef unsigned int uint;
#define a (uint)-1

让我敲敲自己秀逗的脑袋,居然一直以为是减法。

(uint)-1其实是强制类型转换,把-1转换成无符号整型数。

以前也遇过类似的情况,把“->”运算符拆开没看懂。

好啦~吃一堑,长一智嘛~

附:http://zhidao.baidu.com/question/462582782.html

原文地址:https://www.cnblogs.com/log-a/p/3963133.html