The structure contains two values. The memory layout is .array1[0] , then .array1[1] , optionally followed by some indentation.
Indentation is the only part of this that can vary between compilers (although in practice, when the only member of the structure is an array, there will almost certainly be no padding).
Although you may have heard that an array in C is a pointer, this is not true - an array is a cumulative type consisting of all member objects, like a structure. Just in almost all contexts of an expression, an array evaluates to a pointer to its first member.
source share