Цикл остановится, когда p
будет NULL
.В цикле вам не нужно явно проверять условие p !=NULL
, или в C ++ 11, p != nullptr
.
Аналогичный код также написан с нулевым символом в концестрока:
char str[] = "its null-terminated string";
for(size_t i = 0 ; str[i] ; ++i)
std::cout << str[i] << std::endl;
В этом случае вам не нужно проверять условие i < strlen(str)
или что-то в этом роде.