zoukankan      html  css  js  c++  java
  • C++ 入门4 共用体

    =========C++ 入门4 ---- 共用体========

      共用体(union)是一种数据格式,它能存储不同的数据类型,但是只能一次使用其中一种数据类型。由于共用体每次只能存储一个值。因此它必须有足够大的空间来存储最大的成员,所以,共用体的长度为其最大成员的长度。

      共用体经常被用在,当数据项使用两种或者更多的格式(但不会同时使用)时,可以节省空间。比如,假设管理一个小商品目录,其中一些商品的ID为整数,而另一些的ID为字符串。这种情况下,可以这样做:

    #include <iostream>
    
    struct widge 
    {
        char brand[20];
        
        int type;
        union ID
        {
            long id_num;
            char id_char[];
        } id_val;
    };
    
    int main()
    {
        widge prize;
        
        std::cin >> prize.type;
        
        if(prize.type == 1){
            std::cin >> prize.id_val.id_num;//输入整形数字作为ID
        } else {
            std::cin >> prize.id_val.id_char;//输入字符串作为ID 
        } 
        
        if(prize.type == 1){
            std::cout << prize.id_val.id_num << std::endl;//输出整形ID 
        } else {
            std::cout << prize.id_val.id_char << std::endl;//输出字符串ID 
        } 
        
        return 0;
    }
  • 相关阅读:
    mysql The server time zone value 'xxx' is unrecognized
    mysql Public Key Retrieval is not allowed
    mysql Unable to load authentication plugin 'caching_sha2_password'.
    ZOJ Problem Set
    ZOJ Problem Set
    ZOJ Problem Set
    ZOJ Problem Set
    ZOJ Problem Set
    ZOJ Problem Set
    ZOJ Problem Set
  • 原文地址:https://www.cnblogs.com/CocoonFan/p/2973279.html
Copyright © 2011-2022 走看看