21 Nov C Structures
Structures in C allow you to store data of different types. You can easily store variables of types, such as int, float, char, etc. For example, storing the details of employees, with the following members:
- name: string type
- age: int type
- zone: string type
- salary: float type
Now, you would be wondering about the difference between structure and arrays. Well, Arrays stores data of similar types, for example, an array of ints, whereas Structure stores data of different types.
Define a Structure
Let us understand the above concept with an example to define a structure. To define a structure, use the struct keyword:
1 2 3 4 5 6 7 8 9 |
struct emp { char name[15]; int age; char zone[10]; float salary; }; |
Above,
- The name of the structure is emp,
- The structure members or fields are name, age, zone, and
Declare a Structure
We defined the structure above. Let us now see how to declare. Following is an example to declare a structure while defining it:
Declare a structure while defining it
1 2 3 4 5 6 7 8 9 |
struct emp { char name[15]; int age; char zone[10]; float salary; }; e1, e2, e3; |
The e1, e2, and e3 above are variables. We can use them to access the values.
Declare a structure with struct
We can also declare the variables e1, e2, e3 using the struct keyword. First, define it:
1 2 3 4 5 6 7 8 9 |
struct emp { char name[15]; int age; char zone[10]; float salary; }; |
Declare e1, e2, and e3 of type emp:
1 2 3 |
struct emp e1, e2; |
Access Structure Members
To access a structure member in C language, use a period i.e. the member access operator. Following is the syntax:
1 2 3 |
structure_variable.structure_member |
For example, access the structure members for variable e1 i.e. the 1st employee:
1 2 3 4 5 6 |
e1.name e1.age e1.zone e1.salary |
Let us see an example of accessing structure members in C language:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
#include <stdio.h> #include <string.h> struct Emp { char name[15]; int age; char zone[10]; float salary; }; int main( ) { // Declare e1, e2, e3 of type Emp struct Emp e1; struct Emp e2; struct Emp e3; // Set the Employee1 information strcpy(e1.name, "John"); e1.age = 25; strcpy(e1.zone, "North"); e1.salary=30000; // Display Employee1 data printf("Employee1 1 name = %s\n", e1.name); printf("Employee1 1 age = %d\n", e1.age); printf("Employee1 1 zone = %s\n", e1.zone); printf("Employee1 1 salary = %f\n", e1.salary); return 0; } |
Output
1 2 3 4 5 6 |
Employee1 1 name = John Employee1 1 age = 25 Employee1 1 zone = North Employee1 1 salary = 30000.000000 |
If you liked the tutorial, spread the word and share the link and our website Studyopedia with others:
For Videos, Join Our YouTube Channel: Join Now
Read More:
No Comments