Structure in C


Prev Tutorial Next Tutorial

Structure in C

Structure is a user defined data type which hold or store heterogeneous data item or element in a singe variable. It is a Combination of primitive and derived data type.

structure in c

Why Use Structure in C

In C language array is also a user defined data type but array hold or store only similar type of data, If we want to store different-different type of data in then we need to defined separate variable for each type of data.

Example: Suppose we want to store Student record, then we need to store....

  • Student Name
  • Roll number
  • Class
  • Address

For store Student name and Address we need character data type, for Roll number and class we need integer data type.

If we are using Array then we need to defined separate variable.


char student_name[10], address[20];
int roll_no[5], class[5];

If we use Structure then we use single variable for all data.


struct stu
char student_name[10];
char address[20];
int roll_no[5];
int class[5];

Note: Minimum size of Structure is one byte and Maximum size of Structure is sum of all members variable size.

Note: Empty Structure is not possible in C Language.

Defining a Structure


struct tagname
Datatype1 member1;
Datatype2 member2;
Datatype3 member3;

At end of the structure creation (;) must be required because it indicates that an entity is constructed.


struct emp
int id;
char name[36];
int sal;
sizeof(struct emp)	// --> 40 byte (2byte+36byte+2byte)

Syntax to create structure variable

struct tagname variable;

Difference Between Array and Structure

1Array is collection of homogeneous data.Structure is the collection of heterogeneous data.
2Array data are access using index.Structure elements are access using . operator.
3Array allocates static memory.Structures allocate dynamic memory.
4Array element access takes less time than structures.Structure elements takes more time than Array.
difference between array and structure

Example of Structure in C


struct emp
int id;
char name[36];
float sal;

void main()
struct emp e;
printf("Enter employee Id, Name, Salary: ");

printf("Id: %d",;
printf("\nName: %s",;
printf("\nSalary: %f",e.sal);


Output: Enter employee Id, Name, Salary: 5 Spidy 45000 Id : 05 Name: Spidy Salary: 45000.00

Syntax to access structure members

By using following operators we can access structure members.


.     struct to member
-->   pointer to member

When the variable is normal type then go for struct to member operator.

When the variable is pointer type then go for pointer to member operator.

Difference Between Structure and Pointer in C

Structure in C refer to a collection of various data types for example you create a structure named "Student" which contains his name , roll no, DOB etc. Name is string, Roll no is int.

While pointer refer to address in C & symbol are used to point some particular place in C memory.

Prev Tutorial Next Tutorial


Buy This Ad Space @$20 per Month, Ad Size 600X200 Contact on: or 9999595223

Pure VPN Privide Lowest Price VPN Just @ $1.65. Per Month with Non Detected IP Lowest Price Non Detected IP VPN

Magenet is best Adsense Alternative here we earn $2 for single link, Here we get links ads. Magenet

For Projects 9999595223

Google Advertisements

Buy Websites 9999595223

Buy College Projects with Documentation Contact on whatsapp 9999595223. Contact on: or 9999595223 Try this Keyword C++ Programs