Я бы не зависел от того факта, что после вашего массива 0, поскольку управление памятью меняется с платформы на платформу.
Поскольку вы объявляете массив, вы должны знать, как долго он находится, поэтому технически можно сказать:
for(i = 0; i < 6; i++)
Если вы не знаете размер массива, вы всегда можете использовать оператор sizeof следующим образом:
// (sizeof my_array) will return the total size of the array in bytes
// (sizeof my_array[0]) will return the size of one element in bytes
// Dividing the two sizes in bytes will give you the total size.
int array_size = (sizeof my_array) / (sizeof my_array[0]);
for(i = 0; i < array_size; i++)
Мой C ++ немного ржавый, но с этим надо справиться:)