>> it holds chars and ints
An array cannot hold more than one type. If you are storing more than one type of data in an array, you put that data into a struct. That struct is a type. Then your array holds that type.
So in your case, while your array does hold chars and ints, those chars and ints are held inside a struct named car. It is that type that you should use declare your array.
Do you see how the spaces array holds cars, not chars and ints?