日韩在线免费播放-日韩在线免费av-日韩在线免费-日韩在线毛片-国产高清不卡视频-国产高清不卡

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > 結構體

結構體 時間:2018-04-16      來源:未知

結構體的概念

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

舉個例子:

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

結構體的聲明及結構體變量的定義

標準形式:

這里struct為結構體關鍵字,一般情況下,結構體名、成員列表和結構體變量名列表這三部分至少要出現(xiàn)2個,以示例解釋:

1.

2.

3.

4.完全形式

5.也可以通過typedef將結構體重新定義

結構體變量的使用方法

結構體變量在使用的過程中應該注意以下幾點:

1. 不能將一個結構體類型變量作為一個整體加以引用,而只能對結構體類型變量中的各個成員分別引用。

2. 使用成員運算符”.”修改和引用成員。

3. 相同結構體類型的變量可以相互賦值。

輸出結果:

結構體數(shù)組的使用方法

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

輸出結果:

結構體指針的使用方法

結構體指針也可以直接引用結構體內的成員,但是格式與變量引用不同,不用”.”而是用”->”引用。

輸出結果:

結構體內的偏移規(guī)則

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

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

結構體的大小計算

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

下面來一步步分析編譯器是如何計算大小進行分配的。

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

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

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

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

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

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

上一篇:蜂鳴器驅動電路

下一篇:單片機復位電路

熱點文章推薦
華清學員就業(yè)榜單
高薪學員經(jīng)驗分享
熱點新聞推薦
前臺專線:010-82525158 企業(yè)培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,京ICP備16055225號-5京公海網(wǎng)安備11010802025203號

回到頂部

主站蜘蛛池模板: 社会好全部歌词| 培根《谈读书》原文及翻译| 陈一龙是哪部电视剧| 歌曲串烧串词| 我未成年 电影| 汤姆·威尔金森| 金枝玉叶电视剧免费观看| 龙岭迷窟演员表| 电视剧《反击》主要演员| 香谱七十二法图大全| 韩国伦理片在线播放| 九狐| 天堂真的存在| 吾凰在上动漫在线观看免费| 户田惠子| 凌博控制器| 迷宫1意大利劳尔| 高地1—36集电视剧免费观看剧情| 美国伦理三颗熟樱桃| 权威的图片| 地狱的天堂| 周华健朋友一生一起走的歌词| 牵着妈妈的手广场舞| 电影二嫫1994在线观看完整版| 画魂缠身 电影| 离别的车站简谱| 美国电影waseas| 英国经典电影| 初三化学试卷| alexandra hedison| 性欧美18一69性sexhd| 武林外传一共多少集| dj舞曲劲爆歌曲大全| 最美表演| 《侏罗纪公园1》电影免费观看| 逐步爱上你| 延禧| 我不是教主漫画免费下拉式| 滕子萱| 捆绑二次元美女挠脚心| 韩国三及|