使用共用体处理任意类型数据 描述:设计一个共用体类型,使其成员包含多种数据类型,根据不同的类型,输出不同的数据

1 题目

功能:使用共用体处理任意类型数据 描述:设计一个共用体类型,使其成员包含多种数据类型,根据不同的类型,输出不同的数据

2 思路

首先设定了各种数据类型的变量,由于这些变量不是全部一次性处理的,所以就采用了共用体类型 在下面例子中,通过 TypeFlag 来识别在共用体重的存储类型,执行程序的时候就会按照不同的存储方式进行存储到 union_demo 变量中

3 代码

#include <stdio.h> 
#include <stdlib.h>

/**
函数:fun()
功能:使用共用体处理任意类型数据
描述:设计一个共用体类型,使其成员包含多种数据类型,根据不同的类型,输出不同的数据
**/

union {                   // 定义共用体
  int i;                  // 共用体成员
  char c;
  float f;
  double d;
}union_demo;                    // 声明共用体类型的变量

int main(int argc, char const *argv[]) { 
  char TypeFlag;
  printf("输入成员类型:\n");
  scanf("%c",&TypeFlag);                // 输入类型符
  printf("输入数字:\n");
  switch(TypeFlag) {                  // 多分支选择语句判断输入
    case 'i':scanf("%d",&union_demo.i); break;
    case 'c':scanf("%c",&union_demo.c); break;
    case 'f':scanf("%f",&union_demo.f); break;
    case 'd':scanf("%lf",&union_demo.d);
  }
  switch(TypeFlag) {                  // 多分支选择语句判断输出
    case 'i':printf("%d",union_demo.i); break;
    case 'c':printf("%c",union_demo.c); break;
    case 'f':printf("%f",union_demo.f); break;
    case 'd':printf("%lf",union_demo.d);
  }             
  printf("\n");
}

示例结果:

$ gcc ex051.c -o demo
$ ./demo
输入成员类型:
i
输入数字:
10
10
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容