为什么会出现这个问题?或者它甚至是一个问题? [重复]

问题描述 投票:0回答:0
#include<iostream>
using namespace std;

int main()
{
    char a[5];
    cout << sizeof(a) << endl <<&a[0] << endl <<&a[1] << endl <<&a[2] << endl <<&a[3] << endl <<&a[4] << endl <<&a[5];
    
    return 0;
}

这将返回这样的东西

5




@

░→@

但是当你对

做同样的事情时
#include<iostream>
using namespace std;

int main()
{
    int a[5];
    cout << sizeof(a) << endl <<&a[0] << endl <<&a[1] << endl <<&a[2] << endl <<&a[3] << endl <<&a[4] << endl <<&a[5];

    return 0;
}

它会把这个还给你

20
0x61fefc
0x61ff00
0x61ff04
0x61ff08
0x61ff0c
0x61ff10

我无法在互联网或任何 C++ 参考书中找到它。

编译器是“Mingw”

我使用编译器“Mingw”运行代码,但代码没有给出结果,因为当我的类型是 char 时,大多数参考书或 youtube 视频都给出了结果。

c++ arrays integer char memory-address
© www.soinside.com 2019 - 2024. All rights reserved.