C++ 多维数组打印十六进制数,而不是数组的内容
我在玩多维数组,想知道在这段代码中发生了什么,使得它打印出十六进制而不是数组的实际内容。我知道这可能是一个愚蠢的问题,但希望有人能解释这是我第一年的编程C++ 多维数组打印十六进制数,而不是数组的内容,c++,arrays,C++,Arrays,我在玩多维数组,想知道在这段代码中发生了什么,使得它打印出十六进制而不是数组的实际内容。我知道这可能是一个愚蠢的问题,但希望有人能解释这是我第一年的编程 #include <iostream> void print(int A[][3],int N, int M) { for (int R = 0; R < N; R++) // Why when executed does this code output: for(int i = 0; i < 4;
#include <iostream>
void print(int A[][3],int N, int M)
{
for (int R = 0; R < N; R++) // Why when executed does this code output:
for(int i = 0; i < 4; i++) //0x61fdf0 0x61fdf0 0x61fdf0 0x61fdf0
std::cout << A[R] << " "; //0x61fdfc 0x61fdfc 0x61fdfc 0x61fdfc
for (int C = 0; C < M; C++) //0x61fe08 0x61fe08 0x61fe08 0x61fe08
for(int j = 0; j < 3; j++) //0x61fe14 0x61fe14 0x61fe14 0x61fe14
std::cout << A[C] << " "; //0x61fdf0 0x61fdf0 0x61fdf0 0x61fdfc
} //0x61fdfc 0x61fdfc 0x61fe08 0x61fe08 0x61fe08
int main ()
{
int arr[4][3] ={{12, 29, 11},
{25, 25, 13},
{24, 64, 67},
{11, 18, 14}};
print(arr,4,3);
return 0;
}
#包括
无效打印(整数A[][3],整数N,整数M)
{
for(int R=0;R std::cout如果你有一个像int-arr[4][3]
这样的二维数组,那么arr
本质上只是一个指向整个二维数组的内存地址
类似地,arr[X]
也是一个指向2D数组中一行的地址。因此,打印:
std::cout << arr;
std::cout << arr[1];
当然,这同样适用于函数中的A
std::cout << arr[1][1]; // prints an int