It’s because in the C language, you need a null terminator to end a string. So USD is three characters plus a null terminator, which is 4 total. So you have room for 32 currency names. For that, you need 128 characters to fit them.