首页 > 解决方案 > C++/地址空间:每个地址 2 字节?

问题描述

我只是在尝试一些东西,我想知道这怎么可能。我有以下代码:

int var1 = 132;

int var2 = 200;

int *secondvariable = &var2;

cout << *(secondvariable+2) << endl << sizeof(int) << endl;

我得到输出

132

4

那么第二个 int 怎么可能只高 2 个地址呢?我的意思是不应该是4个地址吗?我目前在WIN10 x64下。

问候

标签: c++pointersmemory-address

解决方案


cout << *(secondvariable+2)如果不打印指针,则打印 at 的值,secondvariable[2]是无效的索引并导致未定义的行为

如果要打印指针,请删除取消引用并打印secondvariable+2


推荐阅读