考虑一下代码:
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 ?
就像那样:
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)