【问题标题】:Show array address in C++ (Code Blocks)在 C++ 中显示数组地址(代码块)
【发布时间】:2014-06-10 23:11:03
【问题描述】:

我是 C++ 新手,我想使用 Code::Blocks 功能 Watches 显示一个数组的地址

我要检查的行代码是char hello[7] = "hello";

当我启动Debug 并打开Watches 窗口时,它只显示"hello\000\000"

如果我尝试像char *hi = "hi"; 这样的其他东西,Watches 窗口会显示

0x46e024 <_ZSt16__convert_from_vRKPiPciPKcz+4644900> "hi" 如您所见,它显示了地址和值。

我怎样才能对 hello 做同样的事情?我的意思是显示它的地址?

谢谢!

【问题讨论】:

  • @presiuslitelsnoflek 我试过了,但是没用!

标签: c++ codeblocks


【解决方案1】:

使用它:

char* array = 'trololo';
int addr = &array;

【讨论】:

  • 我试过了,但它在第二行显示错误!
  • 准确地说,第一行已经有 2 个错误(除了第二行):1)多字符字符文字,2)分配给指向非常量的指针。
【解决方案2】:

你的问题是调试器太聪明了,自动解释地址。 地址已经是hello 的值。无需像其他答案所建议的那样使用& 获取该变量的地址。

您可能会做的是使用另一个明确是指针的变量,将 hello 分配给它并在调试器中查找该值:

char hello[7] = "hello";
char* helloaddr = hello;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-21
    • 1970-01-01
    相关资源
    最近更新 更多