首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言基礎

C語言基礎教程(四)聯合體詳解:定義、訪問與嵌套應用

     編輯:C 語言基礎

聯合體說明與變量定義

聯合體是一種特殊的數據類型,表示幾個變量公用一個內存位置,在不同的時間保存不同類型和長度的變量。形式如下:

union 聯合名 {
    數據類型 成員名;
    數據類型 成員名;
    ...
} 聯合變量名;

示例

union a_bc {
    int i;
    char mm;
};
union a_bc lgc;  // 定義聯合變量

在 lgc 中,整型 i 和字符 mm 公用同一內存位置。編譯器自動分配長度為聯合體中最大成員的長度。

成員訪問

訪問方式與結構體相同:聯合變量.成員名。若為指針,用 聯合指針->成員名。聯合體可嵌套在結構體中,其成員也可以是結構體。

嵌套訪問示例

struct {
    int age;
    char *addr;
    union {
        int i;
        char *ch;
    } x;
} y[10];

y[1].x.i;          // 訪問 y[1] 中聯合 x 的成員 i
*y[2].x.ch;        // 訪問 y[2] 中聯合 x 的字符串指針 ch 的首字符
// y[2].x.*ch;    // 錯誤寫法
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved