色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

結構體成員的順序會影響結構體的大小嗎

學益得智能硬件 ? 來源:學益得智能硬件 ? 2024-11-25 16:24 ? 次閱讀

相同的結構體成員,如果把順序調整一下,會不會影響結構體的大小?

答案是會的,這主要跟字節對齊有關。

比如這樣的結構體,前面兩個是 char 類型,后面跟上一個 int 類型。

struct A
{
    char a;
charb;
intc;
};

它在內存中的排序是這樣的,第一個 char 占 1 個字節,緊接著第 2 個 char 也占 1 個字節。

因為最后是個 int 類型,所以中間還要空 2 個字節。要保證 int 的偏移是 4 的整數倍。

結構體最終長度就是 8 個字節。

下面調整一下,把第 2 個 char 放到 int 的后面。

struct B
{
    char a;
    int b;
    char c;
};

第一個 char 任然占 1 個字節,由于后面是 int,中間還得空 3 個字節。

最后的 char 占 1 個字節。

由于 int 的存在,結構體的總長度必須是 4 的整數倍,所以結果就是 12。

成員的順序一旦變了,他們在內存中的排布方式就會不一樣,結果也就不同。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 內存
    +關注

    關注

    8

    文章

    3019

    瀏覽量

    74007
  • 結構體
    +關注

    關注

    1

    文章

    130

    瀏覽量

    10840

原文標題:結構體成員的順序會不會影響結構體的大小

文章出處:【微信號:學益得智能硬件,微信公眾號:學益得智能硬件】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    深度了解SiC的晶體結構

    SiC是由硅(Si)和碳(C)按1:1的化學計量比組成的晶體,因其內部結構堆積順序的不同,形成不同的SiC多型,本篇章帶你了解SiC的晶體結構及其可能存在的晶體缺陷。
    的頭像 發表于 11-14 14:57 ?535次閱讀
    深度了解SiC的晶體<b class='flag-5'>結構</b>

    C語言和C++中結構的區別

    同樣是結構,看看在C語言和C++中有什么區別?
    的頭像 發表于 10-30 15:11 ?199次閱讀

    帶你認識貼片一成型電感的材料結構

    貼片一成型電感(也被稱為模壓電感)是一種具有特殊結構和材料組成的電子元件。其材料結構主要包括以下幾個方面: 一、主要材料 1. 金屬粉末 核心材料:一成型電感的主要材料是金屬粉末,
    的頭像 發表于 08-07 16:01 ?426次閱讀
    帶你認識貼片一<b class='flag-5'>體</b>成型電感的材料<b class='flag-5'>結構</b>

    ota升級的庫中,結構upgrade_server_info中pespconn的作用是什么?

    check_cb; struct espconn *pespconn; }; 這個結構中已經有ip,port,pespconn這個結構
    發表于 07-12 06:33

    神經元的結構及功能是什么

    的細胞,具有獨特的形態結構。神經元的基本結構包括細胞、樹突和軸突。 (1)細胞:細胞是神經元的中心部分,包含細胞核和其他細胞器。細胞核
    的頭像 發表于 07-03 11:33 ?1219次閱讀

    請問esp-idf&amp;vscode結構索引不到對應的成員如何解決?

    兄弟們,我用VSCode 初始化結構時,索引不到對應的成員,并且索引會出現不屬于結構體內的東西,有解決辦法嗎,球球了
    發表于 06-14 06:42

    你是否真的了解結構占用了多少字節?

    結構成員所占內存空間大小一般情況下,如果想知道結構成員
    的頭像 發表于 06-04 08:04 ?442次閱讀
    你是否真的了解<b class='flag-5'>結構</b><b class='flag-5'>體</b>占用了多少字節?

    嵌入式中C語言結構基本實現

    : ? ??在struct 中聲明了一個含有若干新成員的數據類型。 ????tag ?是結構標簽。 ????member-list ?是標準的變量定義,比如 int i; 或者 float f,或者其他
    的頭像 發表于 05-11 08:49 ?1013次閱讀
    嵌入式中C語言<b class='flag-5'>結構</b><b class='flag-5'>體</b>基本實現

    定義了一個結構,但是分配的地址不連續,為什么?

    定義了一個結構,但是分配的地址不連續,是KEIL的問題還是我的問題?
    發表于 04-26 08:12

    用FreeRTOS使用隊列怎么發送一個結構呢?

    怎么使用隊列,發送一個12個字節的結構呢? osEvent osMessageGet (osMessageQId queue_id, uint32_t millisec
    發表于 04-17 07:35

    C語言結構史上最詳細的講解【軟件干貨】

    struct結構數據類型 前言 我們知道,在C語言中有一些基本的數據類型,如?char?int?float?long?double?string(c99) 等等數據類型,他們可以表示一些事物
    的頭像 發表于 03-28 17:52 ?746次閱讀

    求助,請問一個結構如何全部定義到 __attribute__ 區域?

    請問一個結構如何全部定義到 __attribute__ 區域? 例如我這里涉及到一些高速計算的緩存,計劃將緩存數據存儲到 __attribute__ 區域。 三個結構 ,每個
    發表于 01-16 07:29

    經典 C 語言編程,結構和聯合體如何共用?

    結構 結構占用的內存大小,首先和編譯器的系統位數有關系,類似于CPU是 64 bits 還是 32 bits 的情形;其次,
    的頭像 發表于 01-11 18:24 ?1355次閱讀
    經典 C 語言編程,<b class='flag-5'>結構</b><b class='flag-5'>體</b>和聯合體如何共用?

    結構與指針的關系

    在C語言中,結構(Struct)是一種用戶自定義的數據類型,它允許您將不同類型的數據項組合在一起,以便形成一個更復雜的數據結構。結構可以
    的頭像 發表于 01-11 08:00 ?981次閱讀
    <b class='flag-5'>結構</b><b class='flag-5'>體</b>與指針的關系

    keil arm工程中結構1字節對齊如何實現

    在Keil Arm工程中,結構的對齊方式可以通過使用特定的編譯器指令或者關鍵字來實現。結構的對齊方式直接影響
    的頭像 發表于 01-05 14:40 ?3749次閱讀
    主站蜘蛛池模板: 男人扒开添女人下部口述| 色悠久久久久综合网小说| 2020年国产理论| 久久精品中文字幕有码日本| 亚洲AV久久无码精品国产网站| 国产成人精品免费视频软件 | 97超碰射射射| 美女不要啊| china中国gay偷拍| 欧美亚洲国产免费高清视频| chinesevideos原创麻豆| 欧美日韩一区不卡在线观看| AV精品爆乳纯肉H漫网站| 人人干人人看| 国产99精品视频| 亚洲a免费| 久久热r在线视频精品| 99久久99久久精品免费看子| 欧美性猛交AAA片免费观看| 打开双腿狠狠蹂躏蜜桃臀| 无码国产成人午夜在线观看不卡 | 麻豆一二三四区乱码| 99久久精品免费国产一区二区三区 | 国产福利视频在线观看福利| 忘忧草在线影院WWW日本二 | 沦为公交两奶头春药高潮迭起| 99在线免费| 午理论理影片被窝| 久久免费看少妇高潮A片特爽| 99香蕉视频| 亚洲 日本 欧美 中文字幕| 混乱家庭电影完整版在线看| 亚洲国产cao| 女子扒开腿让男生桶爽| 国产成人精品123区免费视频| 伊人久久综合谁合综合久久| 欧美肥婆性生活| 含羞草影院AE在线观看| 99热久久久无码国产精品性麻豆 | 人人做人人干| 狠狠色丁香久久婷婷综合_中|