Open In App

Difference between Structure and Array in C

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

Array in C

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

arrays

 

Structure in C

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.

 


Last Updated : 22 Dec, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads