When I posted the question I was just interested in how to store de structs do the char array because the problem is to store several queues into this array.
The array type is unsigned char, actually. I didn't thought it mattered but know I'm not so sure. Is the code from post #2 still valid?
I said it was integers because I was being passed values like 1 and 2. Now I notice it's to store also unsigned char.
Your code gave me a really good idea though.
I'm just gonna use one part of the array to store where the queues end. Then I'll just shift the values as they are pushed and poped. It's not very efficient but I was playing around with structs with pointers and they take up a LOT of space, it's insane! I can store 10 times more objects using this method instead of pointers.