C语言教程
C语言控制语句
C语言函数
C语言数组
C语言指针
C语言字符串
C语言数学函数
C语言结构
C语言文件处理
C预处理器

C语言union

类似于结构, C语言中的联盟是用户定义的数据类型,用于存储
一次,union中只有一个成员可以占用内存。换句话说,我们可以说union的大小在任何情况下都等于其最大元素的大小。
结构与union之间的差异

union优于结构的优势

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

union优于结构的缺点

只有最后输入的数据可以存储在union中。它会覆盖先前存储在union中的数据。

定义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;
};

Cunion示例

我们来看一个简单的C语言union示例。
#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获得垃圾值。因此,只有名称才具有实际值。

昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4