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 
structkeyword. 
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 
unionkeyword. 
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 
Studentis defined to represent information about a student, including roll number, name, and marks. - An instance of the structure named 
student1is 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 
Bookis defined to represent information about a book, including title and price. - An instance of the union named 
book1is created in themain()function. - Initially, the title of the book is assigned to the 
titlemember of the union. - Later, the price of the book is assigned to the 
pricemember of the union. - When the price is assigned, the previous value of the 
titlemember 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