亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

c++中union的用法是什么

c++
小億
85
2023-12-09 02:07:52
欄目: 編程語言

在C++中,union是一種特殊的數據結構,允許在同一內存位置存儲不同的數據類型。它的用法如下:

  1. 節省內存:使用union可以節省內存,因為它只會為其中一個成員分配內存,而不是為每個成員都分配內存。

  2. 數據共享:union的成員共享同一塊內存,這意味著同一時間只能存儲一個成員的值。當一個成員被賦值后,它將覆蓋之前存儲的成員的值。

  3. 數據類型轉換:可以使用union進行數據類型轉換。例如,將一個float類型的值存儲在union中的一個成員,然后以int類型的方式讀取該值。

以下是一個示例,說明了如何使用union:

#include <iostream>
using namespace std;

union Data {
   int i;
   float f;
   char str[20];
};

int main() {
   Data data;
   
   cout << "Memory size occupied by data : " << sizeof(data) << endl;

   data.i = 10;
   cout << "data.i : " << data.i << endl;
   
   data.f = 220.5;
   cout << "data.f : " << data.f << endl;
   
   strcpy(data.str, "C++ Programming");
   cout << "data.str : " << data.str << endl;

   return 0;
}

輸出結果為:

Memory size occupied by data : 20
data.i : 10
data.f : 220.5
data.str : C++ Programming

在上面的示例中,我們定義了一個union Data,它有三個成員:i(整數類型)、f(浮點數類型)和str(字符數組類型)。我們可以看到,這三個成員共享同一塊內存,因此只能存儲其中一個成員的值。在main函數中,我們分別將整數、浮點數和字符串分配給union的成員,并打印它們的值。

0
新宁县| 衡南县| 儋州市| 广元市| 白玉县| 吉水县| 彰化市| 广饶县| 丘北县| 麻栗坡县| 金山区| 福鼎市| 清远市| 新田县| 祁阳县| 和平县| 十堰市| 五华县| 宁化县| 江山市| 阿尔山市| 赤城县| 尼勒克县| 萨迦县| 湘乡市| 凤城市| 仁布县| 利津县| 会泽县| 天长市| 砚山县| 鸡西市| 英德市| 迭部县| 和龙市| 哈巴河县| 信宜市| 潼关县| 洪泽县| 井研县| 南木林县|