个性化阅读
专注于IT技术分析

c union联合体

原文地址: https://www.javatpoint.com/c-union

本文概述

与结构类似,C语言中的Union是用户定义的数据类型,用于存储不同类型的元素。

一次,联合中只有一个成员可以占用内存。换句话说,我们可以说联合的大小在任何情况下都等于其最大元素的大小。

联合优于结构的优势

它占用的内存较少,因为它仅占用最大成员的大小。

联合优于结构的劣势

只能将最后输入的数据存储在联合中。它会覆盖先前存储在联合中的数据。


定义union联合体

union关键字用于定义联合。让我们看看在c中定义并集的语法。

union union_name 
{
    data_type member1;
    data_type member2;
    .
    .
    data_type memeberN;
};

让我们看一下在c中为雇员定义工会的示例。

union employee
{   int id;
    char name[50];
    float salary;
};

C联合示例

让我们来看一个简单的C语言联合示例。

#include <stdio.h>
#include <string.h>
union employee  
{   int id;  
    char name[50];  
}e1;  //declaring e1 variable for union
int main( )
{
   //store first employee information
   e1.id=101;
   strcpy(e1.name, "Sonoo Jaiswal");//copying string into char array
   //printing first employee information
   printf( "employee 1 id : %d\n", e1.id);
   printf( "employee 1 name : %s\n", e1.name);
   return 0;
}

输出:

employee 1 id : 1869508435
employee 1 name : Sonoo Jaiswal

如你所见,由于名称具有较大的内存大小,所以id获得垃圾值。因此,只有名称才具有实际价值。

赞(0)
未经允许不得转载:srcmini » c union联合体

评论 抢沙发

评论前必须登录!