在C++中初始化指向数组的指针的正确方法?

JAN*_*JAN 0 c++ arrays

考虑一下代码:

const int MAX = 3;
int (*array)[MAX]  ;

int intArray[3] = {30 , 40 , 50};

array = &intArray;
for (int h = 0 ; h < MAX ; h++)
{
    std::cout << *(array[h]) << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

输出是:

30
0
3
Run Code Online (Sandbox Code Playgroud)

显然,数组的初始化有问题,为什么我会得到 30 , 0 , 3而不是30,40,50

And*_*rey 5

就像那样:

const int MAX = 3;
int *array;

int intArray[3] = {30 , 40 , 50};

array = intArray;
for (int h = 0 ; h < MAX ; h++)
{
    std::cout << array[h] << std::endl;
}
Run Code Online (Sandbox Code Playgroud)