无法弄清楚此指针代码{ou}的输出逻辑

时间:2016-06-07 05:02:40

标签: c++ c pointers

考虑以下c片段:

int main(){
    int *a = (int *)60;
    int *b = (int *)40; 

    cout << a - b; 
    return 0;
}

以下代码将输出显示为5.我的理解是int *a定义了一个指向内存地址60的指针,因此按此逻辑输出应为20.输出a的值和b,它给出了十六进制表示60(0x3c)和40(0x28);程序还打印5。

有人可以解释一下这背后的原因吗?

0 个答案:

没有答案