首页 > 解决方案 > 我可以在 C++ 中输出数组的内存地址吗?

问题描述

如何在 C++ 中输出数组的内存地址?有没有一种方法可以做到这一点?我在数组中有 4 个元素,我想计算这些元素并输出这些元素的内存地址。

标签: c++arraysdata-structures

解决方案


是的你可以。我们可以直接打印数组的地址,也可以打印第一个元素的地址,它们是一样的。

您还可以使用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;
}

在线演示


推荐阅读