在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用union來了解內(nèi)存?

Linux愛好者 ? 來源:嵌入式Linux ? 作者:寫代碼的籃球球癡 ? 2021-06-22 17:01 ? 次閱讀

今天一個讀者朋友給我發(fā)的一段代碼,這段代碼讓他有了疑惑。

代碼如下:

#include “stdio.h”int main()

{

typedef union{

short i;

char j[2];

}DATA;

DATA a;

a.j[0] = 10;

a.j[1] = 1;

printf(“%x

”,a.i);

return 0;

}

這里說一個問題,我們從printf上看到的不一定我們想看到的,所以我們需要去變量的內(nèi)存地址一探究竟,一定要了解內(nèi)存的布局,對內(nèi)存有所了解。

上面注釋的代碼,在我的電腦中運行的結(jié)果不相同,所以要看printf的準(zhǔn)確輸出,應(yīng)該初始化變量a。

使用gdb來查看地址,可以準(zhǔn)確看到變量內(nèi)存中的數(shù)據(jù)。

什么是大小端?

這個問題在之前的文章說過,這里再重新提一下

大端模式(Big-endian),是指數(shù)據(jù)的高字節(jié),保存在內(nèi)存的低地址中,而數(shù)據(jù)的低字節(jié),保存在內(nèi)存的高地址中

小端模式(Little-endian),是指數(shù)據(jù)的高字節(jié)保存在內(nèi)存的高地址中,而數(shù)據(jù)的低字節(jié)保存在內(nèi)存的低地址中

我們用這個再來看看我們的程序

#include “stdio.h”int main()

{

typedef union{

short i;

char j[2];

}DATA;

DATA a;

//a.j[0] = 10;

a.j[1] = 1;

printf(“%x

”,a.i);

return 0;

}

j[0]在低地址,j[1]在高地址,這個沒有什么意見吧?

內(nèi)存就是一個尺子,它是不斷變長的,所以這個地址也是慢慢變大的,沒有任何問題吧。

然后,我們可以看看現(xiàn)在的輸出,從上面的輸出可以看到輸出100,也就是j[1]在高地址,j[0]在低地址,那這個計算機就是小端模式。

也可以通過查看內(nèi)存地址來確認(rèn)

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7615

    瀏覽量

    137837
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4837

    瀏覽量

    69121

原文標(biāo)題:C 語言,使用 union 了解內(nèi)存

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    虛擬內(nèi)存不足如何解決 虛擬內(nèi)存和物理內(nèi)存的區(qū)別

    虛擬內(nèi)存不足的解決方案 虛擬內(nèi)存不足是計算機用戶經(jīng)常遇到的問題,尤其是在運行大型軟件或多任務(wù)處理時。以下是一些解決虛擬內(nèi)存不足問題的方法: 增加物理內(nèi)存(RAM) : 這是最直接的解決
    的頭像 發(fā)表于 12-04 09:14 ?606次閱讀

    虛擬內(nèi)存的作用和原理 如何調(diào)整虛擬內(nèi)存設(shè)置

    虛擬內(nèi)存,也稱為虛擬內(nèi)存管理或頁面文件,是計算機操作系統(tǒng)中的一種內(nèi)存管理技術(shù)。它允許系統(tǒng)使用硬盤空間作為額外的RAM(隨機存取存儲器),以彌補物理內(nèi)存(RAM)的不足。虛擬
    的頭像 發(fā)表于 12-04 09:13 ?818次閱讀

    DDR5內(nèi)存與DDR4內(nèi)存性能差異

    DDR5內(nèi)存與DDR4內(nèi)存性能差異 隨著技術(shù)的發(fā)展,內(nèi)存技術(shù)也在不斷進(jìn)步。DDR5內(nèi)存作為新一代的內(nèi)存技術(shù),相較于DDR4
    的頭像 發(fā)表于 11-29 14:58 ?830次閱讀

    DDR內(nèi)存故障排查方法

    和服務(wù)器中。然而,由于各種原因,DDR內(nèi)存可能會出現(xiàn)故障,影響計算機的正常運行。 DDR內(nèi)存故障的常見癥狀 在進(jìn)行故障排查之前,了解DDR內(nèi)存故障的常見癥狀是非常重要的。這些癥狀包括:
    的頭像 發(fā)表于 11-20 14:34 ?1025次閱讀

    DDR內(nèi)存超頻技巧與注意事項

    青睞。 DDR內(nèi)存超頻技巧 了解內(nèi)存規(guī)格 在進(jìn)行超頻之前,首先需要了解自己內(nèi)存的規(guī)格,包括內(nèi)存
    的頭像 發(fā)表于 11-20 14:27 ?704次閱讀

    Linux內(nèi)存泄露案例分析和內(nèi)存管理分享

    作者:京東科技 李遵舉 一、問題 近期我們運維同事接到線上LB(負(fù)載均衡)服務(wù)內(nèi)存報警,運維同事反饋說LB集群有部分機器的內(nèi)存使用率超過80%,有的甚至超過90%,而且內(nèi)存使用率還再不停的增長。接到
    的頭像 發(fā)表于 10-24 16:14 ?787次閱讀
    Linux<b class='flag-5'>內(nèi)存</b>泄露案例分析和<b class='flag-5'>內(nèi)存</b>管理分享

    內(nèi)存模組n/a怎么解決?

    一、內(nèi)存模組n/a問題概述 1.1 內(nèi)存模組的定義 內(nèi)存模組,又稱為RAM(Random Access Memory),是計算機系統(tǒng)中用于存儲數(shù)據(jù)的硬件設(shè)備。它允許處理器快速訪問和處理數(shù)據(jù),從而
    的頭像 發(fā)表于 10-14 10:44 ?972次閱讀

    邏輯內(nèi)存和物理內(nèi)存的區(qū)別

    邏輯內(nèi)存和物理內(nèi)存是計算機系統(tǒng)中兩個重要的概念,它們在計算機的運行和數(shù)據(jù)處理中起著至關(guān)重要的作用。 1. 物理內(nèi)存(Physical Memory) 物理內(nèi)存,也稱為RAM(Rando
    的頭像 發(fā)表于 09-27 15:38 ?969次閱讀

    如何使用反射內(nèi)存交換機

    反射內(nèi)存交換機是一種用于實現(xiàn)高速數(shù)據(jù)共享和通信的關(guān)鍵設(shè)備,以下是關(guān)于如何使用反射內(nèi)存交換機的詳細(xì)介紹:一、前期準(zhǔn)備?在開始使用反射內(nèi)存交換機之前,需要進(jìn)行以下準(zhǔn)備工作:?1.了解系統(tǒng)需
    發(fā)表于 09-14 09:23 ?0次下載

    影響內(nèi)存延遲的因素有哪些

    內(nèi)存延遲是指等待對系統(tǒng)內(nèi)存中存儲數(shù)據(jù)的訪問完成時引起的延期,它是衡量內(nèi)存響應(yīng)速度的重要指標(biāo)。影響內(nèi)存延遲的因素眾多,主要包括硬件因素和軟件因素兩大方面。
    的頭像 發(fā)表于 09-04 11:46 ?1961次閱讀

    內(nèi)存時鐘是什么意思

    內(nèi)存時鐘是內(nèi)存模塊中一個至關(guān)重要的參數(shù),它直接關(guān)聯(lián)到內(nèi)存模塊能夠工作的最高頻率。以下是對內(nèi)存時鐘的詳細(xì)解析,包括其定義、作用、與內(nèi)存頻率的關(guān)
    的頭像 發(fā)表于 09-04 11:45 ?1502次閱讀

    內(nèi)存的種類都有哪些?有什么區(qū)別?

    內(nèi)存,作為計算機中不可或缺的組成部分,承擔(dān)著存儲和交換數(shù)據(jù)的重要任務(wù)。隨著技術(shù)的不斷發(fā)展,內(nèi)存的種類也日益豐富,每種類型都有其獨特的特點和適用場景。以下是對內(nèi)存種類及其區(qū)別的詳細(xì)解析,旨在通過清晰的分類和深入的解析,幫助讀者全面
    的頭像 發(fā)表于 07-15 18:15 ?1.2w次閱讀

    聯(lián)想小新Pro 2024 AI銳龍版支持7500MHz內(nèi)存與核顯性能提升

    近日,聯(lián)想旗下的小新 Pro 2024 AI 銳龍版迎來了新的 OTA 升級,并支持高達(dá) 7500MHz 的內(nèi)存頻率(實測為 7467 MT/s)。
    的頭像 發(fā)表于 04-30 15:17 ?1377次閱讀

    C語言內(nèi)存泄漏問題原理

    內(nèi)存泄漏問題只有在使用堆內(nèi)存的時候才會出現(xiàn),棧內(nèi)存不存在內(nèi)存泄漏問題,因為棧內(nèi)存會自動分配和釋放。C語言代碼中堆
    發(fā)表于 03-19 11:38 ?580次閱讀
    C語言<b class='flag-5'>內(nèi)存</b>泄漏問題原理

    美光發(fā)布DDR5-6000超頻內(nèi)存,支持Intel XMP 3.0

    值得注意的是,盡管英睿達(dá)早前已終止電競超頻內(nèi)存產(chǎn)品線鉑勝 Ballistix,卻迅速帶來了具備散熱馬甲的 Pro 內(nèi)存系列,然而此間 Pro 內(nèi)存產(chǎn)品主要追求即插即用特性,并不涉及超頻
    的頭像 發(fā)表于 02-21 16:06 ?1134次閱讀
    主站蜘蛛池模板: 亚洲欧美在线精品一区二区 | 亚洲欧美综合一区 | 亚洲人成www在线播放 | 欧美成人精品久久精品 | 天天操天天碰 | 欧美成年网站 | 欧美精品一区二区三区在线播放 | 琪琪午夜免费影院在线观看 | 钻石午夜影院 | 日本aaaa毛片在线看 | 天使色吧 | 龙口护士门91午夜国产在线 | 国产一区二区三区 韩国女主播 | 一级特黄a 大片免费 | 免费特黄一区二区三区视频一 | 好大好硬好深好爽想要免费视频 | 青草午夜精品视频在线观看 | 国产三级观看 | 欧洲妇女成人淫片aaa视频 | 四虎东方va私人影库在线观看 | wwwcom日本| 日本不卡在线视频高清免费 | 神马午夜在线观看 | www.午夜视频 | 四虎精品影院永久在线播放 | 草逼网址 | japanese色系tube日本护士 | 国产又黄又爽又猛的免费视频播放 | 精品国产自在在线在线观看 | 18年大片免费在线观看 | 日韩一级免费毛片 | 亚洲视频五区 | 华人被黑人粗大猛然进 | 嗯!啊!使劲用力在线观看 | 久久本道综合色狠狠五月 | 欧美色操 | 卡2卡三卡四卡精品公司 | 日本人六九视频69jzz免费 | sss在线play | 爆操极品美女 | 一区二区中文字幕亚洲精品 |