當前位置:
首頁 > 知識 > C語言系列——結構說明

C語言系列——結構說明



C語言系列——結構說明



結構說明定義結構變數的名字,規定可以有不同類型的變數值(稱為結構的「成員」)的序列。具有結構類型的變數的取值是該類型所定義的整個序列。

結構說明以關鍵字struct開頭,也有兩種格式,如上所示。在第一種格式中,結構成員的名字和類型在wiemfiw-ifecfaratioB-ftst中指定,該表將在下面詳細介紹。是命名由member-所定義的結構類型的標識符。


每個declarator給出一個結構變數的名字,fec/arator也可以把變數的類型修飾成指向結構類型的指針、結構的數組或一個返回結構的函數。


想要一起學習C++的可以加裙二四八八九四四三零,裙內有各種資料滿足大家,歡迎加裙


第二種格式用結構代表結構的類型。因為結構的類型在其它地方說明過了,所以fier-ktoratoB-tee在說明中就不再出現,但是對該說明來說,結構類型的定義必須是可見的,並且必須出現在該說明之前,除非用於說明指針變數或一個typedef結構類型。這些說明在結構定義之前可以使用結構的標誌,只需結構定義對該說明來說是可見的即可。

是由一個或多個變數說明或位域說明構成的表,其中每個所說明的變數定義成結構類型的一個成員。在成員說明表中的變數說明與本章介紹的變數說明的格式一樣,只是它不包括存貯類區分符和初始值。結構的成員可以取任何變數類型:基本類型、數組、指針、聯合或結構類S。


成員的類型不能是它所在的結構的類型,但是可以把它說明成指向該類型結構的指針。這樣就可以建立結構的鏈表。位域由constant-ecpression指定的位成員組成,位域說明中的type-specifier必須是unsigned的整數類型必須是一個非負整數。位域數組、指向位域的指針以及返回位域的函數都是不允許的。可有可無的命名位域。未命名的位域的寬度為零,它有一種特殊功能:保證說明中跟在它後面的成員的存貯空間從hit存貯類的邊界開始。


結構說明表中的標識符必須在該表中是唯一的,但沒有必要使其中的標識符有別於一般的變數名或其它結構說明表中的標識符。結構的標誌則必須區別於其它具有相同可見性的結構、聯合和枚舉的標誌。


結構成員以它們說明的順序依次存貯,第一個成員的存貯地址最低,最後一個成員的存貯地址最高。每個成員的存貯位置從適合於該類型的存貯邊界開始。因此,在內存中可能有無名的空白區域出現在結構的成員之間。


位域的存儲不能跨越它們所說明的類型的邊界。例如,一個說明成imsignedint類型的位域或者壓縮存貯於前一個im剩餘空間的,或從一個新的int位置開始存放。

第一個例子定義了一個名為complex的結構變數,該結構有兩個成員x和y,結構的類型沒有命名。


第二個例子定義了一個名為temp的結構變數,該結構有三個成員,name、id和class,name成員是一個有20個元素的數組,id和class是類型分別為int和long的簡單成員。標識符em-ployee是結構的標誌。


第三個例子定義了三個結構變數student、faculty和staff。每個結構都有三個成員組成的相同的表,這些成員具有在前面已經定義的結構類型employee。


第四個例子定義了一個名為x的結構變數,頭兩個成員分別是類型的變數和指向float值的指針,第三個成員next是指向所定義的結構類型(sample)的指針。


第五個例子定義了一個名為screen的二維結構數組,它共有2000個元素s每個元素是各自含有四個位域成員icon、color、underline和blink的結構。

想要一起學習C++的可以加裙二四八八九四四三零,裙內有各種資料滿足大家,歡迎加裙

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 C加加 的精彩文章:

C語言打造——遊戲場景裡面的人物行走

TAG:C加加 |

您可能感興趣

數據結構與演算法分析——C語言描述
看圖輕鬆理解數據結構與演算法系列
再聊聊自然語言處理中的結構化預測問題
Linux 下各文件夾的結構說明及用途介紹
Log結構文件系統的設計與實現
服裝製圖符號及結構設計語言
嬰兒學習語言的基礎能力,感知語言的聲音和結構
漢字結構組合規律圖解
傳統琴曲結構簡介
楷書結構36種書寫技巧,動態演示清晰明了!
都說《斗羅大陸》是邏輯混亂小白文,我卻認為它結構邏輯堪稱網文教科書!
C語言編程入門基礎結構體和指針
素描中的明暗與結構
TOPIK中高級語法總結:句型結構之使動句
超詳細解讀:神經語義解析的結構化表示學習
DIY實木傢具結構設計源文件,具體內容請看文內第一圖,下載請看文末
古代漢語之漢字的結構和演變
圖文結合,解密不同結構的字書寫技法
動物也有語言天賦?鳥類能學會抽象的語法結構!
用於深度強化學習的結構化控制網路(ICML 論文講解)