The compiler does not know when to stop.
for(i = 0; p[i]; i++)
, p[i] 0. , p[5] 0. , , . i >= array size , , undefined .
, 0
int inumbers[] = {1 ,2 , 0, 4, 5};
1
2
.
, ,
for (const auto & e : inumbers)
std::cout << e << '\n';
. const & , int, , const .
,
for (int i = 0; i < size_of_pointed_to_array, i++)
std::cout << p[i] << '\n';