首页 > 解决方案 > 对数据类型 c 使用 & 位运算符

问题描述

嗨,我偶然发现了这行用 c 编写的代码:

uint64_t rsp = (uint64_t) & (base);

其中 base 也是 uint64_t 类型的变量。

变量和数据类型之间的 AND 运算符有什么作用?

标签: c

解决方案


我认为这条线的格式化方式增加了混乱。在 C 代码中,在一元运算符 ( &) 和它的操作数 ( base) 之间不写空格是很常见的。周围也不是多余( )的。base

这更清楚:

uint64_t rsp = (uint64_t)&base;

&base接受 , 的地址base并且(uint64_t)是一个演员表。


推荐阅读