<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          C語言聯(lián)合體,位段,及枚舉類型

          共 1508字,需瀏覽 4分鐘

           ·

          2021-01-12 18:26

          前言

          上章節(jié)主要針對結(jié)構(gòu)體給大家做一介紹,不清楚的可以回顧上一章節(jié),本章節(jié)主要講解C語言中的聯(lián)合體,位段,以及枚舉類型。

          C語言聯(lián)合體

          在C語言中,聯(lián)合體是不同數(shù)據(jù)類型的元素的集合。聯(lián)合體用于以C編程語言創(chuàng)建用戶定義的數(shù)據(jù)類型。作為用于創(chuàng)建用戶定義的數(shù)據(jù)類型的聯(lián)合體,該聯(lián)合體也被稱為“ C中的用戶定義的數(shù)據(jù)類型”。換句話說,聯(lián)合體是非同質(zhì)元素的集合。使用聯(lián)合體,我們可以定義稱為用戶定義數(shù)據(jù)類型的新數(shù)據(jù)類型,該數(shù)據(jù)類型包含不同數(shù)據(jù)類型的多個值。

          聯(lián)合體是一個單一名稱下不同類型元素的集合,它充當(dāng)C中用戶定義的數(shù)據(jù)類型。(聯(lián)合體也叫做共用體)。

          如何創(chuàng)建聯(lián)合體

          要在c中創(chuàng)建聯(lián)合體,我們使用關(guān)鍵字“ union ”。我們使用以下語法在c編程語言中創(chuàng)建聯(lián)合。

          以下是創(chuàng)建一個名為Student的工會的示例,該聯(lián)合體用于保存學(xué)生記錄

          要記住的重要點(diǎn)
          • 每個聯(lián)合必須以分號(;)結(jié)束。

          • “union”是一個關(guān)鍵字,必須僅使用小寫字母。

          如何使用聯(lián)合體變量

          創(chuàng)建和使用聯(lián)合體變量

          在C語言中,有兩種創(chuàng)建聯(lián)合變量的方法。我們可以在定義聯(lián)合體時創(chuàng)建變量,也可以在使用聯(lián)合體類型去定義變量。要使用聯(lián)合體變量訪問成員,我們使用點(diǎn)(.)運(yùn)算符。考慮以下示例代碼

          在上面的例子程序,結(jié)合變量stud2訪問聯(lián)合體的成員時,我們都使用點(diǎn)(.)運(yùn)算符。

          聯(lián)合體的內(nèi)存分配

          當(dāng)用c語言使用聯(lián)合體時,在定義聯(lián)合體時不會分配內(nèi)存。當(dāng)我們創(chuàng)建特定聯(lián)合體的變量時,將分配內(nèi)存。分配的內(nèi)存大小等于該聯(lián)合的所有成員中單個成員所需的最大內(nèi)存。所有聯(lián)合體用最長內(nèi)存,故不能同時初始化所有成員

          特殊結(jié)構(gòu)體之位段

          當(dāng)我們使用c語言使用結(jié)構(gòu)時,結(jié)構(gòu)變量所需的內(nèi)存就是該結(jié)構(gòu)的所有單個成員所需的內(nèi)存之和。為了節(jié)省內(nèi)存或限制結(jié)構(gòu)成員的內(nèi)存,我們使用位域概念。使用位域,我們可以指定要為結(jié)構(gòu)的各個成員分配的內(nèi)存。要了解位域,讓我們考慮以下示例代碼...

          C語言中的日期結(jié)構(gòu)

          在這里,Date結(jié)構(gòu)的變量分配12個字節(jié)的內(nèi)存。在上面的示例結(jié)構(gòu)中,成員day和month都不需要4個字節(jié)的內(nèi)存。因?yàn)樘鞌?shù)存儲1到31的值,需要5位二進(jìn)制位,而月份只存儲1到12的值,需要4位二進(jìn)制位。因此,為了節(jié)省內(nèi)存,我們使用位段。考慮具有位段的以下結(jié)構(gòu):

          C語言中的日期結(jié)構(gòu)

          在這里,Date結(jié)構(gòu)的變量分配8個字節(jié)的內(nèi)存。

          故位段把數(shù)據(jù)存儲精確到二進(jìn)制位,從而達(dá)到節(jié)省內(nèi)存的。

          枚舉類型

          在C語言中,枚舉用于創(chuàng)建用戶定義的數(shù)據(jù)類型。通過枚舉,整數(shù)常量被分配了名稱,我們在程序中使用這些名稱。在編程中使用名稱可以使其更易讀和易于維護(hù)。

          枚舉是通過將名稱分配給整數(shù)常量來創(chuàng)建用戶定義的數(shù)據(jù)類型的過程

          我們使用關(guān)鍵字enum創(chuàng)建枚舉數(shù)據(jù)類型。枚舉的一般語法如下:

          枚舉{name1,name2,name3,...}

          在以上語法中,將常數(shù)'0'分配給name1,將積分常數(shù)'1'分配給name2,依此類推。

          我們還可以如下分配自己的積分常數(shù):

          枚舉{name1 = 10,name2,name3 = 15,...}

          在以上語法中,將積分常數(shù)'10'分配給name1,將常數(shù)'31'分配給name2,依此類推。如下測試代碼:

          通常程序中同類型具有特殊含義的常量我們會聲明為枚舉類型,增加可讀性 ,例如顏色,星期數(shù),月份,方向等等。

          尾言

          作業(yè):使用枚舉類型,實(shí)現(xiàn)按鍵交互基本框架

          現(xiàn)在多學(xué)一樣本事,以后就能少說一句求人的話。

          瀏覽 44
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  一区二区三区四区无码视频 | 三级片在线免费直播成人电影 | 一级视频在线观看免费 | 一区色| 琪琪午夜成人久久电影网 |