嗨,我偶然发现了这行用c:编写的代码
uint64_t rsp = (uint64_t) & (base);
其中base也是uint64_t类型的变量。
变量和数据类型之间的AND运算符有什么作用?
我认为这一行的格式化方式增加了混乱。在C代码中,一元运算符(&
(和其操作数(base
(之间通常不写空格。此外,base
周围的( )
不是冗余的。
这更清楚:
uint64_t rsp = (uint64_t)&base;
&base
取base
的地址,而(uint64_t)
是一个强制转换。