📜  c++ 打印变量地址 - C++ (1)

📅  最后修改于: 2023-12-03 14:39:55.360000             🧑  作者: Mango

C++ 打印变量地址

在 C++ 中,我们可以使用取地址运算符 & 来获取变量的地址。想要打印变量的地址,我们可以使用 cout 函数结合格式化输出:

#include <iostream>
using namespace std;

int main() {
    int i = 10;
    cout << "i 的地址是:" << &i << endl;
    return 0;
}

我们可以看到,上面的代码将会输出 i 的地址,这个地址是一个十六进制数。

为了更直观地了解地址的大小关系,我们可以使用 sizeof 函数获取变量的大小,然后使用格式化输出让输出更整齐。例如:

#include <iostream>
using namespace std;

int main() {
    int i = 10;
    double d = 3.14;

    cout << "int 类型变量 i 的地址是:" << &i << ",大小是:" << sizeof(i) << " 字节" << endl;
    cout << "double 类型变量 d 的地址是:" << &d << ",大小是:" << sizeof(d) << " 字节" << endl;

    return 0;
}

上面的代码将会分别输出 i 和 d 的地址,以及它们在内存中占用的字节数。

除了基本数据类型,我们也可以打印数组和指针的地址。使用数组的地址和指针的地址打印方式就与上述方式相同。

#include <iostream>
using namespace std;

int main() {
    int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    int* p = arr;

    cout << "数组 arr 的地址是:" << arr << endl;
    cout << "指针 p 的地址是:" << &p << endl;

    return 0;
}

上面的代码将会分别输出数组 arr 和指针 p 的地址。

总之,在 C++ 中,我们可以使用 & 运算符来获取变量的地址,并使用格式化输出来打印变量的地址以及在内存中占用的字节数。