奶头挺立呻吟高潮av全片,成人试看120秒体验区,性欧美极品v,A片高潮抽搐揉捏奶头视频

C語言

解析C語言結構體對齊(內存對齊問題)

時間:2025-04-13 20:51:50 C語言 我要投稿
  • 相關推薦

解析C語言結構體對齊(內存對齊問題)

  C語言結構體對齊也是老生常談的話題了。基本上是面試題的必考題。內容雖然很基礎,但一不小心就會弄錯。寫出一個struct,然后sizeof,你會不會經常對結果感到奇怪?sizeof的結果往往都比你聲明的變量總長度要大,這是怎么回事呢?下面讓我們一起來學習一下相關的知識吧!

  解析C語言結構體對齊(內存對齊問題)

  開始學的時候,也被此類問題困擾很久。其實相關的文章很多,感覺說清楚的不多。結構體到底怎樣對齊?

  有人給對齊原則做過總結,具體在哪里看到現在已記不起來,這里引用一下前人的經驗(在沒有#pragma pack宏的情況下):

  原則1、數據成員對齊規則:結構(struct或聯合union)的數據成員,第一個數據成員放在offset為0的地方,以后每個數據成員存儲的起始位置要從該成員大小的整數倍開始(比如int在32位機為4字節,則要從4的整數倍地址開始存儲)。

  原則2、結構體作為成員:如果一個結構里有某些結構體成員,則結構體成員要從其內部最大元素大小的整數倍地址開始存儲。(struct a里存有struct b,b里有char,int,double等元素,那b應該從8的整數倍開始存儲。)

  原則3、收尾工作:結構體的總大小,也就是sizeof的結果,必須是其內部最大成員的整數倍,不足的要補齊。

  這三個原則具體怎樣理解呢?我們看下面幾個例子,通過實例來加深理解。

【解析C語言結構體對齊(內存對齊問題)】相關文章:

講解C語言編程中的結構體對齊09-14

Word兩端對齊和分散對齊08-29

C語言中內存分配問題09-13

C語言結構體定義06-25

C語言結構體教程06-17

2016計算機二級C++內存對齊詳細使用指南06-18

word圖片批量居中對齊10-14

如何實現CSS右對齊10-29

C語言結構體中的函數指針06-14

主站蜘蛛池模板: 张家口市| 临沭县| 岚皋县| 城固县| 明光市| 丹巴县| 元江| 财经| 永川市| 青浦区| 永登县| 来凤县| 始兴县| 城口县| 安义县| 鄢陵县| 霞浦县| 台州市| 浦江县| 灵璧县| 廊坊市| 赞皇县| 峨边| 白水县| 西安市| 宜都市| 信宜市| 延津县| 樟树市| 新河县| 广河县| 宁明县| 泌阳县| 洪泽县| 涿鹿县| 五原县| 五家渠市| 威远县| 政和县| 承德市| 宁远县|