最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言結(jié)構(gòu)體內(nèi)存對齊詳解

 更新時間:2022年01月12日 09:50:06   作者:小夏同學(xué)—沖啊!  
大家好,本篇文章主要講的是C語言結(jié)構(gòu)體內(nèi)存對齊詳解,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下

1、結(jié)構(gòu)體內(nèi)存對齊是指當(dāng)我們創(chuàng)建一個結(jié)構(gòu)體變量時,會向內(nèi)存申請所需的空間,用來存儲結(jié)構(gòu)體成員的內(nèi)容。我們可以將其理解為結(jié)構(gòu)體成員會按照特定的規(guī)則來存儲數(shù)據(jù)內(nèi)容。

2、結(jié)構(gòu)體的對齊規(guī)則

(1)第一個成員在相比于結(jié)構(gòu)體變量存儲起始位置偏移量為0的地址處。

(2)從第二個成員開始,在其自身對齊數(shù)的整數(shù)倍開始存儲(對齊數(shù)=編譯器默認(rèn)對齊數(shù)和成員字節(jié)大小的最小值,VS編譯器默認(rèn)對齊數(shù)為8)。

(3)結(jié)構(gòu)體變量所用總空間大小是成員中最大對齊數(shù)的整數(shù)倍。

(4)當(dāng)遇到嵌套結(jié)構(gòu)體的情況,嵌套結(jié)構(gòu)體對齊到其自身成員最大對齊數(shù)的整數(shù)倍,結(jié)構(gòu)體的大小為當(dāng)下成員最大對齊數(shù)的整數(shù)倍。

3、了解了結(jié)構(gòu)體的對齊規(guī)則后,我們通過實戰(zhàn)來鞏固(實例一至實例三同類,請細(xì)品實例四)

實例一:

分析:存儲結(jié)構(gòu)圖如下

紅色填充內(nèi)存為結(jié)構(gòu)體成員a,因其為char類型且是第一個成員,由規(guī)則(1)可得如下;橙色填充為結(jié)構(gòu)體成員b,因其為int類型且不是第一個成員,由規(guī)則(2)可得如下;綠色填充為結(jié)構(gòu)體成員c,因其為char類型且不是第一個成員,由規(guī)則(2)(3)可得如下;畫紅叉內(nèi)存位置屬于因?qū)R造成的浪費內(nèi)存。

實例二:

 分析:存儲結(jié)構(gòu)如下

紅色填充內(nèi)存為結(jié)構(gòu)體成員a,因其為char類型且是第一個成員,由規(guī)則(1)可得如下;橙色填充為結(jié)構(gòu)體成員b,因其為char類型且不是第一個成員,由規(guī)則(2)可得如下;綠色填充為結(jié)構(gòu)體成員c,因其為int類型且不是第一個成員,由規(guī)則(2)(3)可得如下;畫紅叉內(nèi)存位置屬于因?qū)R造成的浪費內(nèi)存。

實例三:

  分析:存儲結(jié)構(gòu)如下

紅色填充內(nèi)存為結(jié)構(gòu)體成員a,因其為double類型且是第一個成員,由規(guī)則(1)可得如下;橙色填充為結(jié)構(gòu)體成員b,因其為char類型且不是第一個成員,由規(guī)則(2)可得如下;綠色填充為結(jié)構(gòu)體成員c,因其為int類型且不是第一個成員,由規(guī)則(2)(3)可得如下;畫紅叉內(nèi)存位置屬于因?qū)R造成的浪費內(nèi)存。

 實例四:

分析:存儲結(jié)構(gòu)圖如下

紅色填充內(nèi)存為結(jié)構(gòu)體成員a,因其為double類型且是第一個成員,由規(guī)則(1)可得如下;橙色填充為結(jié)構(gòu)體成員s3,因其為嵌套結(jié)構(gòu)體且不是第一個成員,大小為16,由規(guī)則(4)可得如下圖;綠色填充為結(jié)構(gòu)體成員c,因其為int類型且不是第一個成員,由規(guī)則(2)(3)可得如下;畫紅叉內(nèi)存位置屬于因?qū)R造成的浪費內(nèi)存。

總結(jié)

到此這篇關(guān)于C語言結(jié)構(gòu)體內(nèi)存對齊詳解的文章就介紹到這了,更多相關(guān)C語言結(jié)構(gòu)體內(nèi)存內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • c++判斷是否為目錄的示例分享

    c++判斷是否為目錄的示例分享

    這篇文章主要介紹了c++判斷是否為目錄的示例,需要的朋友可以參考下
    2014-03-03
  • C++控制臺實現(xiàn)簡單注冊登錄

    C++控制臺實現(xiàn)簡單注冊登錄

    這篇文章主要為大家詳細(xì)介紹了C++控制臺實現(xiàn)簡單注冊登錄,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • c++ const引用與非const引用介紹

    c++ const引用與非const引用介紹

    const引用是指向const對象的引用,可以讀取ref,但不能修改所以也就有將const變量賦值給非const引用是非法的,感興趣的朋友可以了解下,或許本文對你有所幫助
    2013-01-01
  • 解析C語言基于UDP協(xié)議進(jìn)行Socket編程的要點

    解析C語言基于UDP協(xié)議進(jìn)行Socket編程的要點

    這篇文章主要介紹了C語言通過UDP協(xié)議進(jìn)行Socket編程的要點,文中還提到了相關(guān)ARP與ICMP協(xié)議的作用,需要的朋友可以參考下
    2016-02-02
  • 基于C++詳解數(shù)據(jù)結(jié)構(gòu)(附帶例題)

    基于C++詳解數(shù)據(jù)結(jié)構(gòu)(附帶例題)

    數(shù)據(jù)結(jié)構(gòu)作為每一個IT人不可回避的問題,本文基于C++編寫,下面這篇文章主要給大家介紹了關(guān)于數(shù)據(jù)結(jié)構(gòu)的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • C語言猜兇手的代碼實現(xiàn)

    C語言猜兇手的代碼實現(xiàn)

    本文主要介紹了C語言猜兇手的代碼實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • C語言指針入門學(xué)習(xí)面面觀

    C語言指針入門學(xué)習(xí)面面觀

    這篇文章主要介紹了C語言指針的一些基礎(chǔ)知識,指針可以說是C語言入門學(xué)習(xí)中的頭等大事,文中從數(shù)組和函數(shù)等多方面剖析C中指針的作用,需要的朋友可以參考下
    2016-02-02
  • Qt編寫秒表功能

    Qt編寫秒表功能

    這篇文章主要為大家詳細(xì)介紹了Qt編寫秒表功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • C語言實現(xiàn)旅游景點咨詢系統(tǒng)

    C語言實現(xiàn)旅游景點咨詢系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)旅游景點咨詢系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • C語言帶頭雙向循環(huán)鏈表的示例代碼

    C語言帶頭雙向循環(huán)鏈表的示例代碼

    這篇文章主要介紹了如何利用C語言實現(xiàn)帶頭雙向循環(huán)鏈表,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-11-11

最新評論

马公市| 彝良县| 大庆市| 崇州市| 汉寿县| 玉龙| 万州区| 邢台市| 邢台市| 平度市| 东莞市| 沾化县| 荣成市| 葵青区| 淮北市| 建昌县| 岢岚县| 巴里| 库尔勒市| 修武县| 会昌县| 张家港市| 米脂县| 乐东| 革吉县| 紫金县| 嘉兴市| 措美县| 古丈县| 革吉县| 本溪市| 沐川县| 尚义县| 建水县| 衢州市| 葵青区| 潼关县| 双城市| 东丽区| 池州市| 衡东县|