问题描述
如何在C++中输出数组的内存地址?有没有一种方法可以做到这一点? 我在数组中有 4 个元素,我想计算这些元素并输出这些元素的内存地址。
解决方法
是的,你可以。可以直接打印数组的地址,也可以打印第一个元素的地址,都是一样的。
您也可以使用 std::addressof
,它是在 c++11 中引入的。
所有这些打印语句都得到相同的输出。
#include <iostream>
int main(int argc,char* argv[]) {
int arr[] = {1,2,3,4};
std::cout << &arr << std::endl;
std::cout << arr << std::endl;
std::cout << &arr[0] << std::endl;
std::cout << std::addressof(arr) << std::endl;
std::cout << std::addressof(arr[0]) << std::endl;
return 0;
}