⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 union2.c

📁 里面包含很多c语言的源码
💻 C
字号:
/* Example of a typical use of a union */

#include <stdio.h>

#define CHARACTER   'C'
#define INTEGER     'I'
#define FLOAT       'F'

struct generic_tag{
    char type;
    union shared_tag {
        char   c;
        int    i;
        float  f;
    } shared;
};

void print_function( struct generic_tag generic );

int main( void )
{
    struct generic_tag var;

    var.type = CHARACTER;
    var.shared.c = '$';
    print_function( var );

    var.type = FLOAT;
    var.shared.f = (float) 12345.67890;
    print_function( var );

    var.type = 'x';
    var.shared.i = 111;
    print_function( var );
    return 0;
}
void print_function( struct generic_tag 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;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -