#include stdio.h#define CHARACTERC#define INTEGERI#define FLOATF
编程学习网为您整理以下代码实例,主要实现:联合体的典型用法,希望可以帮到各位朋友。
#include <stdio.h>
#define CHaraCTER 'C'
#define INTEGER 'I'
#define float 'F'
struct currency{
char type;
union flag {
char c;
int i;
float f;
} shared;
};
voID print_function( struct currency generic )
{
printf("\n\nThe generic value is...");
switch( generic.type )
{
case CHaraCTER: printf("%c", generic.shared.c);
break;
case INTEGER: printf("%d", generic.shared.i);
break;
case float: printf("%f", generic.shared.f);
break;
default: printf("an unkNown type: %c\n",
generic.type);
break;
}
}
int main( voID ){
struct currency var;
var.type = CHaraCTER;
var.shared.c = '$';
print_function( var );
var.type = float;
var.shared.f = (float) 1.67890;
print_function( var );
var.type = 'x';
var.shared.i = 1;
print_function( var );
return 0;
}
沃梦达教程
本文标题为:联合体的典型用法
基础教程推荐
猜你喜欢
- 向量<unique_ptr<A>>使用初始化列表 2022-10-23
- 明确指定任何或所有枚举数的整数值 1970-01-01
- C++多态 1970-01-01
- 总计将在节日礼物上花多少钱 1970-01-01
- C语言3个整数的数组 1970-01-01
- C++:为什么结构类需要一个虚拟方法才能成为多态? 2022-10-19
- 用指数格式表示浮点数 1970-01-01
- 对 STL 容器的安全并行只读访问 2022-10-25
- C语言数组 1970-01-01
- 迭代std :: bitset中真实位的有效方法? 2022-10-18
