无法访问指针c ++的值

时间:2017-02-24 12:25:33

标签: c++ pointers

int *x = new int;
*x = 5;

cout << x << endl;
delete[] x;

我正在尝试动态地将资源分配给变量&#39; x&#39;。然后我分配值&#39; 5&#39;它。当我尝试打印&#39; x&#39;的值时,我得到一些名为0x8321的垃圾值,依此类推。我确信这不是我指定的价值。

知道怎样才能访问x的值吗?

2 个答案:

答案 0 :(得分:3)

您必须使用std::cout << *x << std::endl

您获得的值是指针指向的内存(区域)的地址。

编辑:并使用delete x;代替delete[] x;

答案 1 :(得分:1)

您当前正在打印指针的地址。如果你想要你应该做的价值 cout << *x << endl