📅  最后修改于: 2023-12-03 14:39:55.360000             🧑  作者: Mango
在 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++ 中,我们可以使用 &
运算符来获取变量的地址,并使用格式化输出来打印变量的地址以及在内存中占用的字节数。