C++(引用符号&、访问内存地址&)

发布时间 2023-12-24 13:48:31作者: 做梦当财神

在C++中,引用符号 & 和访问内存地址的 & 运算符有不同的用途和含义。

  1. 引用符号 &:创建引用

    • 使用 & 符号可以创建引用,即给一个变量起一个别名。引用是一个别名,它与原变量共享相同的内存地址。
    • 引用在声明时必须初始化,并且一旦初始化后,不能再引用其他变量。
    int x = 10;
    int& ref = x;  // 创建整数引用 ref,它是 x 的别名
    
    cout << x << endl;   // 输出 10
    cout << ref << endl; // 输出 10
    
    x = 20;
    cout << ref << endl; // 输出 20,因为 ref 是 x 的别名
    

    在这个例子中,ref 是变量 x 的引用,它们共享相同的内存地址,因此修改其中一个会影响另一个。

  2. 访问内存地址的 & 运算符:获取变量的内存地址

    • 使用 & 运算符可以获取变量的内存地址。
    • 通常与指针一起使用,将变量的地址存储在指针中。
    int y = 30;
    int *ptr = &y;  // 创建整数指针 ptr,存储变量 y 的内存地址
    
    cout << &y << endl;   // 输出变量 y 的内存地址
    cout << ptr << endl;  // 输出变量 y 的内存地址,与上一行相同
    
    cout << *ptr << endl; // 输出变量 y 的值,通过指针访问
    

    在这个例子中,&y 表示变量 y 的内存地址,而 ptr 存储了变量 y 的地址。通过 *ptr 可以访问存储在该地址上的值。

总结:

  • & 符号在不同的上下文中有不同的含义。
  • 在声明中,它用于创建引用,即变量的别名。
  • 在表达式中,作为运算符,它用于获取变量的内存地址