色yeye在线视频观看_亚洲人亚洲精品成人网站_一级毛片免费播放_91精品一区二区中文字幕_一区二区三区日本视频_成人性生交大免费看

當(dāng)前位置:IT培訓(xùn) > 華清遠(yuǎn)見(jiàn)教育科技集團(tuán) > 嵌入式學(xué)習(xí) > 講師博文 > 結(jié)構(gòu)體
結(jié)構(gòu)體
時(shí)間:2018-04-16作者:華清遠(yuǎn)見(jiàn)

結(jié)構(gòu)體的概念

結(jié)構(gòu)體屬于C數(shù)據(jù)類(lèi)型中的構(gòu)造數(shù)據(jù)類(lèi)型(Composite Data Types),在結(jié)構(gòu)體中可以包含若干個(gè)不同數(shù)據(jù)類(lèi)型和不同意義的數(shù)據(jù)項(xiàng),從而使這些數(shù)據(jù)項(xiàng)組合起來(lái)反映某一個(gè)信息,這些數(shù)據(jù)項(xiàng)稱(chēng)為結(jié)構(gòu)體的成員(member)。

舉個(gè)例子:

上圖是模擬了一個(gè)圖書(shū)管理中的部分?jǐn)?shù)據(jù),可以很清楚的看到一本書(shū)有編號(hào)、書(shū)名、作者等許多信息。如果我想通過(guò)一個(gè)普通的數(shù)據(jù)類(lèi)型來(lái)完整的描述這本書(shū)肯定是不現(xiàn)實(shí)的,而結(jié)構(gòu)體類(lèi)型是集合了多種不同的數(shù)據(jù)類(lèi)型,可以更加完全且方便的描述一本書(shū),此時(shí)結(jié)構(gòu)體的每一個(gè)成員分別代表著書(shū)的不同的信息。

結(jié)構(gòu)體的聲明及結(jié)構(gòu)體變量的定義

標(biāo)準(zhǔn)形式:

這里struct為結(jié)構(gòu)體關(guān)鍵字,一般情況下,結(jié)構(gòu)體名、成員列表和結(jié)構(gòu)體變量名列表這三部分至少要出現(xiàn)2個(gè),以示例解釋?zhuān)?/p>

1.

2.

3.

4.完全形式

5.也可以通過(guò)typedef將結(jié)構(gòu)體重新定義

結(jié)構(gòu)體變量的使用方法

結(jié)構(gòu)體變量在使用的過(guò)程中應(yīng)該注意以下幾點(diǎn):

1. 不能將一個(gè)結(jié)構(gòu)體類(lèi)型變量作為一個(gè)整體加以引用,而只能對(duì)結(jié)構(gòu)體類(lèi)型變量中的各個(gè)成員分別引用。

2. 使用成員運(yùn)算符”.”修改和引用成員。

3. 相同結(jié)構(gòu)體類(lèi)型的變量可以相互賦值。

輸出結(jié)果:

結(jié)構(gòu)體數(shù)組的使用方法

結(jié)構(gòu)體數(shù)組的使用方法就是普通類(lèi)型數(shù)組的使用方式與結(jié)構(gòu)體變量的使用方式相結(jié)合,沒(méi)有難度,直接上代碼:

輸出結(jié)果:

結(jié)構(gòu)體指針的使用方法

結(jié)構(gòu)體指針也可以直接引用結(jié)構(gòu)體內(nèi)的成員,但是格式與變量引用不同,不用”.”而是用”->”引用。

輸出結(jié)果:

結(jié)構(gòu)體內(nèi)的偏移規(guī)則

1.每個(gè)成員的偏移量都必須是當(dāng)前成員所占內(nèi)存大小的整數(shù)倍如果不是編譯器會(huì)在成員之間加上填充字節(jié)。

2.當(dāng)所有成員大小計(jì)算完畢后,編譯器判斷當(dāng)前結(jié)構(gòu)體大小是否是結(jié)構(gòu)體中最寬的成員變量大小的整數(shù)倍,如果不是會(huì)在最后一個(gè)成員后做字節(jié)填充。

結(jié)構(gòu)體的大小計(jì)算

結(jié)構(gòu)體中有一個(gè)long類(lèi)型,兩個(gè)char類(lèi)型,兩個(gè)int類(lèi)型成員,一個(gè)short類(lèi)型成員,如果只按照這幾個(gè)成員大小相加,結(jié)構(gòu)體大小應(yīng)該是 4*3+1*2+2=16 個(gè)字節(jié)大小。但實(shí)際輸出結(jié)果是20個(gè)字節(jié)大小。

下面來(lái)一步步分析編譯器是如何計(jì)算大小進(jìn)行分配的。

1、遇到第一個(gè)成員變量a,該成員偏移量為0,大小為4,符合偏移規(guī)則第一條。

2、接下來(lái)第二個(gè)成員變量b,偏移量為4,大小為1,符合偏移規(guī)則第一條。

3、成員變量c,偏移量為5,大小為4,不符合偏移規(guī)則第一條。在成員b和c之間填充三個(gè)字節(jié),此時(shí),偏移量大小為8,符合偏移規(guī)則第一條,繼續(xù)往下。

4、成員變量d,偏移量為12,大小為4,符合偏移規(guī)則第一條,繼續(xù)往下。

5、成員變量e,偏移量為16,大小為1,符合偏移規(guī)則第一條。

6、成員變量f,偏移量為17,大小為2,不符合偏移規(guī)則第一條,在成員e和f之間填充1個(gè)字節(jié),此時(shí),偏移量大小為18,最終大小20個(gè)字節(jié)


發(fā)表評(píng)論

全國(guó)咨詢(xún)電話(huà):400-611-6270,雙休日及節(jié)假日請(qǐng)致電值班手機(jī):15010390966

在線(xiàn)咨詢(xún): 曹老師QQ(3337544669), 徐老師QQ(1462495461), 劉老師 QQ(3108687497)

企業(yè)培訓(xùn)洽談專(zhuān)線(xiàn):010-82600901,院校合作洽談專(zhuān)線(xiàn):010-82600350,在線(xiàn)咨詢(xún):QQ(248856300)

Copyright 2004-2018 華清遠(yuǎn)見(jiàn)教育科技集團(tuán) 版權(quán)所有 ,京ICP備16055225號(hào),京公海網(wǎng)安備11010802025203號(hào)

有位老師想和您聊一聊

主站蜘蛛池模板: 日本无遮挡边做边爱边摸 | JIZZJIZZ少妇亚洲水多 | 男生自慰gay网址 | 起碰免费公开97在线视频 | 久久精品亚洲日本波多野结衣 | 久久亚洲中文无码咪咪爱 | 欧美一级小视频 | 香蕉视频在线观看亚洲 | 在线日韩一区 | 四虎影院网站 | 国产精品人成在线播放 | 99久热这里精品免费 | 99久久九九社区精品 | 亚洲色一色噜一噜噜噜人与 | 日韩亚洲欧美精品综合 | 18禁超污无遮挡无码免费动态图 | 乱人伦中文无码视频 | 中文字幕人成乱码熟女 | 国产私拍大尺度在线视频 | 久久久久人妻一区精品果冻 | 国产精品爽黄69天堂a | 人妻少妇精品一区二区三区 | 拔插拔插8X8X海外华人免费视频 | a片人人澡c片人人人妻 | 亚洲人成绝费网站色WWW | 日本丰满熟妇videossex一 | 乱色欧美激情亚洲欧美激情 | 国产精品久久久一区麻豆最新章节 | 女人爽到高潮的免费AAAA | 国产精品国产精品偷麻豆 | 日韩精品99久久久久中文字幕 | 国产香蕉尹人在线视频你懂的 | 西西444www无码大胆 | 农村熟妇高潮精品A片 | 老熟女交换五十路交换a片视频 | AAAAAA级特色特黄的毛片 | 美女视频黄的全是免费 | 久久久午夜精品福利内容 | 免费的青榴视频在线观看 | 精品无码综合一区二区三区 | 日韩一区免费在线观看 |