I am defining a bunch of variables in C (For context these variables are the types of chunks you can find in a png). There are 21 in total, and each is 4 letters long. So far, I have been representing them with unsigned char[4], like such:
unsigned char BKGD_CHUNK[4] = {'b', 'K', 'G', 'D'};
unsigned char CHRM_CHUNK[4] = {'c', 'H', 'R', 'M'};
unsigned char DSIG_CHUNK[4] = {'d', 'S', 'I', 'G'};
unsigned char EXIF_CHUNK[4] = {'e', 'X', 'I', 'f'};
unsigned char GAMA_CHUNK[4] = {'g', 'A', 'M', 'A'};
I was wondering if instead of doing this, I should create a new type, maybe called TYPE, defined as unsigned char[4]. I was looking up the use cases for typedef, and saw that some sources say it should be used when the lack of it would make things wordy due to repeated use. While there are only 21 possible chunk types, so it would not be repeatedly used, I felt as if I should still ask here.
I also am aware that when using typedef like this it changes the values to a pointer, however in my case this does not matter much and I could do with this it if i should in fact be using typedef.