Structures and Unions
Introduction: Structures and unions are composite data types in C that allow the grouping of multiple variables of different data types under a single name. They provide a way to represent complex data structures in a program, making it easier to organize and manipulate data.
Definition:
Structure:
- A structure is a collection of variables (of different data types) grouped together under a single name.
- Each variable within a structure is called a member or field.
- Structures enable the creation of custom data types to represent real-world entities.
- They are defined using the
struct
keyword.
Union:
- A union is similar to a structure in that it also groups variables of different data types under a single name.
- However, unlike structures, unions allocate memory that is only as large as the largest member.
- This means that only one member of the union can be accessed at a time.
- Unions are useful when memory conservation is a concern, and only one member needs to be accessed at a time.
- They are defined using the
union
keyword.
Programming Code in C Explaining the Working of Both:
1. Structure Example:
c#include <stdio.h>
// Defining a structure to represent a student
struct Student
{
int rollNumber;
char name[50];
float marks;
};
int main()
{
// Creating an instance of the structure
struct Student student1;
// Assigning values to the members of the structure
student1.rollNumber = 101;
strcpy(student1.name, "John");
student1.marks = 85.5;
// Accessing and printing the values of structure members
printf("Student Details:\n");
printf("Roll Number: %d\n", student1.rollNumber);
printf("Name: %s\n", student1.name);
printf("Marks: %.2f\n", student1.marks);
return 0;
}
Explanation:
- In this example, a structure named
Student
is defined to represent information about a student, including roll number, name, and marks. - An instance of the structure named
student1
is created in themain()
function. - Values are assigned to the members of the structure using dot (
.
) operator. - Finally, the values of the structure members are accessed and printed to the console.
2. Union Example:
c#include <stdio.h>
// Defining a union to represent a book
union Book
{
char title[50];
float price;
};
int main()
{
// Creating an instance of the union
union Book book1;
// Assigning values to the members of the union
strcpy(book1.title, "Introduction to C Programming");
printf("Book Title: %s\n", book1.title);
book1.price = 29.99;
printf("Book Price: %.2f\n", book1.price);
return 0;
}
Explanation:
- In this example, a union named
Book
is defined to represent information about a book, including title and price. - An instance of the union named
book1
is created in themain()
function. - Initially, the title of the book is assigned to the
title
member of the union. - Later, the price of the book is assigned to the
price
member of the union. - When the price is assigned, the previous value of the
title
member is overwritten. - Finally, both the title and price of the book are printed to the console.
Conclusion: Structures and unions are powerful features of C programming that enable the creation of custom data types to represent complex entities. By grouping variables of different data types under a single name, structures and unions enhance code organization, readability, and maintainability. Understanding how to define, declare, and use structures and unions is essential for developing efficient and scalable C programs.
Comments
Post a Comment