Using a const byte in a for loop

I would like to set a constant that I know will never be more than 16. Is it good practice to declare it as a const byte in the following way instead of declaring it an int? I see no need to reserve an extra byte for an int if I don’t need it.

const byte numChannels =16;

for (int x = 0, x < numChannels, x++)
//Do Something

Yes it is.

Will this also work?

const byte numChannels = 16;

for (byte x = 1, x <= numChannels, x++)
//Do something;


It will after you change for ( , , ) to for ( ; ; ).

Declaring constants with the ‘const’ keyword is a good habit, but the compiler is cleaver enough to figure it out if you don’t and doesn’t care if you use byte, int, long, etc. since it all gets optimized away…

That makes sense. Thanks.