int array2d[3][5]{};
for (auto& iter1 : array2d)
{
cout << "iter1 in 2d array - " << iter1 << endl;
for (auto& iter2 : iter1)
{
cout << "iter2 in 2d array - " << iter2 << endl;
}
}
Result
iter1 in 2d array - 00CFFCB4
iter2 in 2d array - 0
iter2 in 2d array - 0
iter2 in 2d array - 0
iter2 in 2d array - 0
iter2 in 2d array - 0
iter1 in 2d array - 00CFFCC8
iter2 in 2d array - 0
iter2 in 2d array - 0
iter2 in 2d array - 0
iter2 in 2d array - 0
iter2 in 2d array - 0
iter1 in 2d array - 00CFFCDC
iter2 in 2d array - 0
iter2 in 2d array - 0
iter2 in 2d array - 0
iter2 in 2d array - 0
iter2 in 2d array - 0
How to 2d array initial to 0??
Your 2d array does have all elements initialized to zero! This is shown by the fact that there are fifteen lines in your output of the form iter2 in 2d array - 0.
The non-zero outputs for iter1 are actually addresses: the type of iter1 is int (&iter1)[5] - which is, for each outer loop, the address of each of the three 'rows' of the 2d array.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With