Only arrays that have a declared type and size would allow you to save space. If you have arrays that allow for dynamic resizing, that means that you don't really have an array in the classic C sense, you have something else, with the typical overheads that are required for those kinds of data structures.