我在VirtualBox上安装了Ubuntu,我正在终端中尝试为我的一个任务调试程序。在数组上使用print命令时,它给出了一个12位十六进制值,如0x7fffffffdea4
。我正在调试的代码是用C ++编写的
#include <iostream>
using namespace std;
int main() {
int i, x[5];
int *ptr_x;
cout << "Enter 5 integers";
for (i=0;i<5;i++) {
cin >> *ptr_x;
ptr_x++;
}
}
当我使用print &x[0]
时,我会得到一个12位十六进制值。我应该使用x/x
来显示内存地址的内容,但它说我无法访问它。是否有我忘记设置的设置,因为我认为我应该得到一个8位十六进制值而不是12位十六进制值。
打印阵列中的后续元素只会更改最后4位数字,所以我认为前几位数可能是填充符号?这是怎么回事?