C ++中“&”符号的用法是什么?
&符号在C++中用作运算符。它在2个不同的地方使用,一个用作按位运算符,另一个用作运算符的指针地址。
按位与
按位与运算符(&)将第一个操作数的每个位与第二个操作数的该位进行比较。如果两个位都为1,则该位设置为1。否则,该位为0。按位AND运算符的两个操作数都必须为整数类型。
示例
#include <iostream> using namespace std; int main() { unsigned short a = 0x5555; // pattern 0101 ... unsigned short b = 0xAAAA; // pattern 1010 ... cout << hex << ( a & b ) << endl; }
输出结果
这给出了输出-
0
运算符地址
C++提供了两个指针运算符,它们是运算符的地址(&)和间接运算符(*)。
指针是一个包含另一个变量地址的变量,或者可以说一个包含另一个变量地址的变量被称为“指向”另一个变量。变量可以是任何数据类型,包括对象,结构或指针本身。
运算符(&)的地址,它是*的补码。它是一元运算符,它返回由其操作数指定的变量(r值)的地址。例如,
示例
#include <iostream> using namespace std; int main () { int var; int *ptr; int val; var = 3000; //取var的地址 ptr = &var; //取ptr上可用的值 val = *ptr; cout << "值var:" << var << endl; cout << "ptr的值:" << ptr << endl; cout << "值val:" << val << endl; return 0; }
输出结果
编译并执行上述代码后,将产生以下结果-
值var:3000 ptr的值:0xbff64494 值val:3000