Basic programming of Union

C Programming Language Union in C Language (Article) Union in C Language (Program)

27479

Program:

<span class="com">#include</span><span class="str">&lt;stdio.h&gt;</span><span class="pln">
</span><span class="com">#include</span><span class="str">&lt;string.h&gt;</span><span class="pln">
 
</span><span class="kwd">union</span><span class="pln"> student 
</span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">char</span><span class="pln"> name</span><span class="pun">[</span><span class="lit">20</span><span class="pun">];</span><span class="pln">
            </span><span class="kwd">char</span><span class="pln"> subject</span><span class="pun">[</span><span class="lit">20</span><span class="pun">];</span><span class="pln">
            </span><span class="kwd">float</span><span class="pln"> percentage</span><span class="pun">;</span><span class="pln">
</span><span class="pun">};</span><span class="pln">
 
</span><span class="kwd">int</span><span class="pln"> main</span><span class="pun">()</span><span class="pln"> 
</span><span class="pun">{</span><span class="pln">
    </span><span class="kwd">union</span><span class="pln"> student record1</span><span class="pun">;</span><span class="pln">
    </span><span class="kwd">union</span><span class="pln"> student record2</span><span class="pun">;</span><span class="pln">
 
    </span><span class="com">// assigning values to record1 union variable</span><span class="pln">
       strcpy</span><span class="pun">(</span><span class="pln">record1</span><span class="pun">.</span><span class="pln">name</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Raju"</span><span class="pun">);</span><span class="pln">
       strcpy</span><span class="pun">(</span><span class="pln">record1</span><span class="pun">.</span><span class="pln">subject</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Maths"</span><span class="pun">);</span><span class="pln">
       record1</span><span class="pun">.</span><span class="pln">percentage </span><span class="pun">=</span><span class="pln"> </span><span class="lit">86.50</span><span class="pun">;</span><span class="pln">
 
       printf</span><span class="pun">(</span><span class="str">"Union record1 values example\n"</span><span class="pun">);</span><span class="pln">
       printf</span><span class="pun">(</span><span class="str">" Name       : %s \n"</span><span class="pun">,</span><span class="pln"> record1</span><span class="pun">.</span><span class="pln">name</span><span class="pun">);</span><span class="pln">
       printf</span><span class="pun">(</span><span class="str">" Subject    : %s \n"</span><span class="pun">,</span><span class="pln"> record1</span><span class="pun">.</span><span class="pln">subject</span><span class="pun">);</span><span class="pln">
       printf</span><span class="pun">(</span><span class="str">" Percentage : %f \n\n"</span><span class="pun">,</span><span class="pln"> record1</span><span class="pun">.</span><span class="pln">percentage</span><span class="pun">);</span><span class="pln">
 
    </span><span class="com">// assigning values to record2 union variable</span><span class="pln">
       printf</span><span class="pun">(</span><span class="str">"Union record2 values example\n"</span><span class="pun">);</span><span class="pln">
       strcpy</span><span class="pun">(</span><span class="pln">record2</span><span class="pun">.</span><span class="pln">name</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Mani"</span><span class="pun">);</span><span class="pln">
       printf</span><span class="pun">(</span><span class="str">" Name       : %s \n"</span><span class="pun">,</span><span class="pln"> record2</span><span class="pun">.</span><span class="pln">name</span><span class="pun">);</span><span class="pln">
 
       strcpy</span><span class="pun">(</span><span class="pln">record2</span><span class="pun">.</span><span class="pln">subject</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Physics"</span><span class="pun">);</span><span class="pln">
       printf</span><span class="pun">(</span><span class="str">" Subject    : %s \n"</span><span class="pun">,</span><span class="pln"> record2</span><span class="pun">.</span><span class="pln">subject</span><span class="pun">);</span><span class="pln">
 
       record2</span><span class="pun">.</span><span class="pln">percentage </span><span class="pun">=</span><span class="pln"> </span><span class="lit">99.50</span><span class="pun">;</span><span class="pln">
       printf</span><span class="pun">(</span><span class="str">" Percentage : %f \n"</span><span class="pun">,</span><span class="pln"> record2</span><span class="pun">.</span><span class="pln">percentage</span><span class="pun">);</span><span class="pln">
       </span><span class="kwd">return</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
</span><span class="pun">}</span>

Output:

 Union record1 values example
 Name       :
 Subject    :
 Percentage : 86.500000

Union record2 values example
 Name       : Mani
 Subject    : Physics
 Percentage : 99.500000
Press any key to continue . . .

Explanation:

A union is a special data type available in C that allows to store different data types in the same memory location. You can define a union with many members, but only one member can contain a value at any given time. Unions provide an efficient way of using the same memory location for multiple-purpose.

Unions are quite similar to structures in C. Like structures, unions are also derived types.

union car
{
  char name[50];
  int price;
};

Defining a union is as easy as replacing the keyword struct with the keyword union.


This Particular section is dedicated to Programs only. If you want learn more about C Programming Language. Then you can visit below links to get more depth on this subject.