最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

結構體和聯(lián)合體的區(qū)別及說明

 更新時間:2025年01月07日 09:33:29   作者:嵌入式學習菌  
文章主要介紹了C語言中的結構體和聯(lián)合體,結構體是一種自定義的復合數(shù)據(jù)類型,可以包含多個成員,每個成員可以是不同的數(shù)據(jù)類型,聯(lián)合體是一種特殊的數(shù)據(jù)結構,可以在內(nèi)存中共享同一段存儲空間來存儲不同類型的數(shù)據(jù)

結構體和聯(lián)合體的區(qū)別

1. 結構體(Struct)

在 C 語言中,結構體是一種自定義的復合數(shù)據(jù)類型,允許將不同數(shù)據(jù)類型的變量組合成一個單一的實體。結構體可以包含多個成員,每個成員可以是不同的數(shù)據(jù)類型,如整數(shù)、浮點數(shù)、字符、數(shù)組等。

結構體的定義通常在函數(shù)外部,并且在函數(shù)內(nèi)部可以聲明和使用結構體類型的變量。結構體的定義包含了結構體的名稱和結構體成員的列表,每個成員都有一個名稱和一個數(shù)據(jù)類型。結構體的成員可以通過成員運算符(.)來訪問。

以下是一個簡單的 C語言 結構體的示例:

#include <stdio.h>

// 定義一個名為Student的結構體
struct Student {
int roll_no; // 學號
char name[50]; // 姓名
int age; // 年齡
float score; // 分數(shù)
};

int main() {
// 聲明并初始化一個Student類型的結構體變量
struct Student student1 = {101, "Alice", 20, 95.5};

// 訪問結構體成員并輸出
printf("Roll No: %d\n", student1.roll_no);
printf("Name: %s\n", student1.name);
printf("Age: %d\n", student1.age);
printf("Score: %.2f\n", student1.score);

return 0;
}

2. 聯(lián)合體(Union)

在 C 語言中,聯(lián)合體是一種特殊的數(shù)據(jù)結構,可以在內(nèi)存中共享同一段存儲空間來存儲不同類型的數(shù)據(jù)。與結構體類似,聯(lián)合體也是一種用戶自定義的數(shù)據(jù)類型,可以包含多個不同類型的成員變量。

聯(lián)合體的定義使用關鍵字‘union’,后面緊跟聯(lián)合體的名稱和一對花括號,括號中定義了聯(lián)合體的成員變量,每個成員變量有自己的名稱和數(shù)據(jù)類型。

#include <stdio.h>

// 定義一個聯(lián)合體
union Data {
int i;
float f;
char c;
};

int main() {
union Data data; // 聲明一個聯(lián)合體變量data

data.i = 42; // 給聯(lián)合體的整數(shù)成員賦值
printf("data.i = %d\n", data.i); // 輸出整數(shù)成員的值

data.f = 3.14; // 給聯(lián)合體的浮點數(shù)成員賦值
printf("data.f = %.2f\n", data.f); // 輸出浮點數(shù)成員的值

data.c = 'A'; // 給聯(lián)合體的字符成員賦值
printf("data.c = %c\n", data.c); // 輸出字符成員的值

// 注意:聯(lián)合體的不同成員共享同一塊內(nèi)存空間,賦值一個成員會影響其他成員的值
printf("data.i = %d, data.f = %.2f, data.c = %c\n", data.i,data.f, data.c);
//data.i = 1078523201, data.f = 3.14, data.c = A

return 0;
}

3. 聯(lián)合體與結構體的區(qū)別

結構體聯(lián)合體
關鍵字structunion
成員多個成員多個成員
存放每個成員都有自己的內(nèi)存空間所有成員共用同一塊內(nèi)存空間

4. 實例分析

  • 定義聯(lián)合體

  • main.c

調(diào)試過程中,可以看到各個變量:

這說明聯(lián)合體所有成員都存儲在同一個空間中,每個成員不可能同時使用。

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • C#代碼實現(xiàn)撲克牌排序的幾種方式

    C#代碼實現(xiàn)撲克牌排序的幾種方式

    今天小編就為大家分享一篇關于C#代碼實現(xiàn)撲克牌排序,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • win7中C#的winForm編程使用savefiledialog不能彈出保存窗體的解決方法

    win7中C#的winForm編程使用savefiledialog不能彈出保存窗體的解決方法

    這篇文章主要介紹了win7中C#的winForm編程使用savefiledialog不能彈出保存窗體的解決方法,涉及針對線程的調(diào)用問題,是比較實用的技巧,需要的朋友可以參考下
    2014-12-12
  • 詳解C#設置Excel數(shù)據(jù)自適應行高、列寬的2種情況

    詳解C#設置Excel數(shù)據(jù)自適應行高、列寬的2種情況

    這篇文章主要介紹了C#設置Excel數(shù)據(jù)自適應行高、列寬的2種情況,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • C#使用Spire.Doc將Word(DOC/DOCX)轉(zhuǎn)換為HTML的實現(xiàn)步驟

    C#使用Spire.Doc將Word(DOC/DOCX)轉(zhuǎn)換為HTML的實現(xiàn)步驟

    在開發(fā)在線文檔系統(tǒng)或內(nèi)容管理系統(tǒng)時,經(jīng)常需要將Word文檔轉(zhuǎn)換為HTML用于網(wǎng)頁展示,使用Spire.Doc,只需幾行C#代碼即可實現(xiàn)精準轉(zhuǎn)換,所以本文給大家介紹了如何使用 Spire.Doc 將 Word (DOC/DOCX) 轉(zhuǎn)換為 HTML,需要的朋友可以參考下
    2025-09-09
  • 深入了解c# 信號量和互斥體

    深入了解c# 信號量和互斥體

    這篇文章主要介紹了c# 信號量和互斥體的相關資料,文中講解非常細致,示例代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-07-07
  • C#實現(xiàn)字符串模糊匹配的方法小結

    C#實現(xiàn)字符串模糊匹配的方法小結

    在C#中實現(xiàn)字符串的模糊匹配可以借助正則表達式或者一些模糊匹配算法來實現(xiàn),文章通過代碼示例講解的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2024-07-07
  • C#?設置Chart的X軸為時間軸???????詳情

    C#?設置Chart的X軸為時間軸???????詳情

    這篇文章主要介紹了C#設置Chart的X軸為時間軸???????詳情,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • C# Any()和AII()方法的區(qū)別

    C# Any()和AII()方法的區(qū)別

    本文主要介紹了C# Any()和AII()方法的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06
  • c#單例模式(Singleton)的6種實現(xiàn)

    c#單例模式(Singleton)的6種實現(xiàn)

    這篇文章主要介紹了c#單例模式(Singleton)的6種實現(xiàn) ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • c#爬蟲爬取京東的商品信息

    c#爬蟲爬取京東的商品信息

    這篇文章主要給大家介紹了關于利用c#爬蟲爬取京東商品信息的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們隨著小編來一起學習學習吧
    2018-11-11

最新評論

百色市| 商河县| 汽车| 千阳县| 武城县| 余江县| 岫岩| 平遥县| 汶川县| 桓仁| 石嘴山市| 交城县| 卢湾区| 崇阳县| 富顺县| 榕江县| 交口县| 玉门市| 赫章县| 云浮市| 娄底市| 大丰市| 鹿泉市| 梧州市| 铁岭市| 贡嘎县| 宝应县| 禹城市| 囊谦县| 大洼县| 台州市| 京山县| 阳曲县| 江西省| 乳山市| 汉中市| 江都市| 鸡西市| 西乌珠穆沁旗| 青州市| 邓州市|