An array is collection of items stored at contiguous memory locations.

A structure is a user defined data type in C/C++. A structure creates a data type that can be used to group items of possibly different types into a single type.

Difference between Structure and Array
ARRAY | STRUCTURE |
---|
Array refers to a collection consisting of elements of homogeneous data type. | Structure refers to a collection consisting of elements of heterogeneous data type. |
Array uses subscripts or “[ ]” (square bracket) for element access | Structure uses “.” (Dot operator) for element access |
Array is pointer as it points to the first element of the collection. | Structure is not a pointer |
Instantiation of Array objects is not possible. | Instantiation of Structure objects is possible. |
Array size is fixed and is basically the number of elements multiplied by the size of an element. | Structure size is not fixed as each element of Structure can be of different type and size. |
Bit field is not possible in an Array. | Bit field is possible in an Structure. |
Array declaration is done simply using [] and not any keyword. | Structure declaration is done with the help of “struct” keyword. |
Arrays is a non-primitive datatype | Structure is a user-defined datatype. |
Array traversal and searching is easy and fast. | Structure traversal and searching is complex and slow. |
data_type array_name[size]; | struct sruct_name{ data_type1 ele1; data_type2 ele2; }; |
Array elements are stored in contiguous memory locations. | Structure elements may or may not be stored in a contiguous memory location. |
Array elements are accessed by their index number using subscripts. | Structure elements are accessed by their names using dot operator. |