中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

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
萍乡市| 喀什市| 建湖县| 陇川县| 五常市| 沁源县| 东乡| 苗栗市| 大宁县| 泸水县| 安多县| 安化县| 兰西县| 涪陵区| 孙吴县| 孟津县| 托里县| 太康县| 宁南县| 铁岭市| 涡阳县| 文登市| 稻城县| 新竹市| 宁波市| 西丰县| 通城县| 亳州市| 淮南市| 辽宁省| 岱山县| 乾安县| 玉田县| 格尔木市| 洛隆县| 东丰县| 阳高县| 安康市| 宜川县| 江山市| 合作市|