The article offers a comparative evaluation between construction and union within the C programming language.
Construction in C
A construction in C is a user-defined datatype that enables programmers to group variables of various information varieties right into a single entity. A construction can comprise members, which could be variables of any information sort, comparable to integers, floats, arrays, and even different constructions. To declare a construction in C, you need to use the key phrase “struct” adopted by the identify of the construction and its member variables, as proven within the following instance:
Declaration of a Construction in C
The next is the declaration of construction in C programming.
data_type1 member1;
data_type2 member2;
};
Union in C
A union in C can also be a user-defined datatype that enables the programmer to retailer several types of information in the identical reminiscence location. Not like constructions, unions have just one reminiscence location that’s shared by all their members. Subsequently, just one union member can entry it at one time. A union’s measurement is measured by the scale of its largest member.
Declaration of a Union in C
Right here is an instance of methods to declare a union in C.
data_type1 member1;
data_type2 member2;
};
Distinction Between Construction and Union in C
The next desk exhibits the distinction between construction and union in C programming.
Function | Construction | Union |
Definition | Assortment of associated information members | The identical reminiscence location is shared by all members |
Reminiscence Allocation | Allocates reminiscence for all members | Allocates reminiscence for the biggest member |
Initializing Members | Might be initialized individually or as a complete | Can solely initialize one member at a time |
Default Initialization | Members are initialized to default values | Members are uninitialized by default |
Measurement Calculation | The Sum of the sizes of all members | Measurement of the biggest member |
Use Circumstances | Used to retailer a number of kinds of information and entry them collectively | Used to save lots of reminiscence when a number of information varieties share the identical reminiscence location |
Accessing Members | Utilizing member identify and dot (.) operator | Utilizing member identify and dot (.) operator |
The next is a coding instance that illustrates the distinction between construction and union in C programming.
struct MyStruct {
int a;
char b;
};
union MyUnion {
int x;
char y;
};
int most important() {
struct MyStruct myStruct;
myStruct.a = 10;
myStruct.b = ‘A’;
union MyUnion myUnion;
myUnion.x = 10;
myUnion.y = ‘A’;
printf(“Struct values: %d, %cn“, myStruct.a, myStruct.b);
printf(“Union values: %d, %cn“, myUnion.x, myUnion.y);
return 0;
}
Within the above code, we have now outlined a struct named MyStruct which accommodates an integer and a personality, and a union named MyUnion which additionally accommodates an integer and a personality. We then create situations of each MyStruct and MyUnion and set their values. We set the integer worth of each to 10 and the character worth of each to ‘A’.
After we print out the values of the struct and union, we will see that the struct has separate variables for the integer and character, and every variable retains its worth. The output is proven under:
Conclausion
Construction and union are two completely different datatypes which have the same syntax in C language. They’re completely different in some elements comparable to storage, reminiscence allocation, usability, and different options. This text presents a simple information to discover a detailed comparability between construction and union adopted by coding examples that clearly differentiate each in C programming.