C語(yǔ)言中異構(gòu)的數(shù)據(jù)結(jié)構(gòu)包括struct和union婿脸。
3.9.1 結(jié)構(gòu)struct
結(jié)構(gòu)的所有組成部分都存放在內(nèi)存一段連續(xù)的區(qū)域中,指向結(jié)構(gòu)的指針就是結(jié)構(gòu)第一個(gè)子節(jié)的地址飒硅,編譯器維護(hù)每個(gè)類型的信息溯警,指示每個(gè)字段的字節(jié)偏移。
屏幕快照 2017-10-02 下午5.42.57.png
3.9.2 聯(lián)合
- 聯(lián)合提供了一種方式狡相,能夠規(guī)避C語(yǔ)言的類型系統(tǒng),允許以多種類型來引用一個(gè)對(duì)象食磕。
- 一個(gè)聯(lián)合的總的大小等于它的最大字段的大小尽棕。
-
聯(lián)合還可以用來訪問不同數(shù)據(jù)類型的位模式。
屏幕快照 2017-10-02 下午5.50.43.png
3.9.3 數(shù)據(jù)對(duì)齊
數(shù)據(jù)對(duì)齊主要是為了減少處理器與內(nèi)存間的操作次數(shù)彬伦。
屏幕快照 2017-10-02 下午6.08.11.png