In some cases, e.g. when using more than one table with different lengths, the terminating null idea isn't bad.
Unlike a string, an array of characters get's no terminator automatically. You have to insert it, and also increase
the array size by one.
the first eleven elements are the same, but most compilers 'fills' the last element with 0 (0x00 or '\0' all means 0)
of course, it's a best practice to put that 0 in the array
most C compilers 'add' an extra 0 at the end of a string (this is called a null-terminated string)
so
unsigned char h[10]="HELLO";
is the same as:
unsigned char h[10]={'H','E','L','L','O',0};
for strings it's better to search the 0, but for arrays (like your case, where you know the size of the array) it's better to use the size as limit (as @jumper2high said)