C程序以阐述联合的概念


2022年4月15日, Learn eTutorial
1724

为了更好地理解,我们始终建议您学习下面列出的C语言编程基础主题

在这个C程序中,我们必须阐述联合的概念。为此,我们必须了解一些关于联合的知识。

什么是联合?

我们都知道,联合是C语言中一种特殊的数据类型,它在同一内存位置存储不同的数据类型。我们可以定义一个有许多成员的联合,但在给定时间只有一个成员可以包含值。在程序中,联合的定义方式与我们在C程序中定义结构体的方式相同。要访问联合的任何成员,需要使用成员访问运算符。联合代表一种新的数据类型,它在程序中具有多个成员。

联合和结构体有什么区别?

结构体和联合之间的主要区别是,对于联合,我们一次只能访问一个成员,但在结构体的情况下,我们可以随时访问其所有成员。联合的大小几乎对应于其最大成员的大小。

联合声明的语法是什么?

联合声明的语法如下:

union union_name
{
type element 1;

type element 2;
……………..

type element n;
};

在这个C程序中,我们必须声明联合变量number,它有成员n1n2。然后我们声明一个类型为number的变量x。接着我们读取n1的值,并使用printf函数显示n1的值。然后我们读取n2的值,并使用printf函数显示它。

算法

步骤1:包含头文件以使用C语言程序中的内置函数。

步骤2: 声明联合变量number,其成员为n1n2

步骤3:x声明为number类型的变量。

步骤4:n1的值读取到变量x.n1中。

步骤5: 使用printf函数显示n1的值为x.n1。

步骤6:n2的值读取到变量x.n2中。

步骤7: 使用printf函数显示n2的值。

C 语言源代码

                                          #include <stdio.h>


void main() {
  union number {
    int n1;
    float n2;
  };
  union number x;
  printf("Enter the value of n1: ");
  scanf("%d", & x.n1);
  printf("Value of n1 =%d", x.n1);
  printf("\nEnter the value of n2: ");
  scanf("%d", & x.n2);
  printf("Value of n2 = %d\n", x.n2);
} /* End of main() */
                                      

输出

Enter the value of n1: 2
Value of n1 =2

Enter the value of n2: 3
Value of n2 = 0