The elements of the structure will be in the declared order, with the addition being added as necessary so that each field is correctly aligned for its type and with the addition, as necessary, inserted at the end, so that in the array each subsequent structure was correctly aligned and immediately started after the end of the previous structure. It is also possible (but unlikely) that an additional unwanted addition will be inserted between any two elements or at the end.
Each field will be stored according to type in the compiler and architecture, for example. int 10 will be stored as bytes 0a 00 00 00 on a regular machine with small order with 32-bit ints.
source share