中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

杭州怎么做網站今日新聞頭條熱點

杭州怎么做網站,今日新聞頭條熱點,臨猗網站制作,什么是網絡營銷 網絡營銷有哪些特點結構體由多個數據類型的成員組成。那編譯器分配的內存是不是所有成員的字節(jié)數總和呢? 首先,stu的內存大小并不為29個字節(jié),即證明結構體內存不是所有成員的字節(jié)數和。 ??其次,stu成員中sex的內存位置不在21,即可推測…

?? 結構體由多個數據類型的成員組成。那編譯器分配的內存是不是所有成員的字節(jié)數總和呢?
在這里插入圖片描述

??首先,stu的內存大小并不為29個字節(jié),即證明結構體內存不是所有成員的字節(jié)數和。
??其次,stu成員中sex的內存位置不在21,即可推測name成員起始內存位置在0。
??接著,stu成員中sex與age內存并不連續(xù),兩者相隔4個字節(jié)。
??最后,sty成員中的sex與score內存連續(xù),但sty的內存大小與sex的內存位置也是數值差4。

那結構體的內存分配滿足何種規(guī)則呢?

序號結構體內存對齊規(guī)則
1結構體的第?個成員對?到和結構體變量起始位置偏移量為0的地址處
2其他成員變量要對?到某個數字(對?數)的整數倍的地址處
3對?數=編譯器默認的?個對?數與該成員變量??的較?值
4VS 中默認的值為8,Linux中gcc沒有默認對?數,對?數就是成員??的??
5結構體總??為最?對?數(結構體中每個成員變量都有?個對?數,所有對?數中最?的)的整數倍。
6如果嵌套了結構體的情況,嵌套的結構體成員對?到??的成員中最?對?數的整數倍處,結構體的整體??就是所有最?對?數(含嵌套結構體中成員的對?數)的整數倍。

利用以上規(guī)則,我們就可以合理解釋文章開頭的疑問了。
在這里插入圖片描述
??char類型對齊數為1,可以儲存在任意位置;
??int類型對齊數為4,必須儲存在內存位置為4的倍數;
??sty結構體內存大小必須是成員最大對齊數的整數倍;

??從以上分析,我們可以得出結構體存在內存浪費。而避免浪費內存的最好編程習慣就是將成員字節(jié)數小的整合在一起。

??結構體(struct)在C和C++編程語言中是一種復合數據類型,它允許你將不同類型的數據項(變量)組合成一個單一的變量名。位段(Bit-fields)是結構體中的一種特殊成員,它允許程序員指定每個成員所占用的位數,而不是使用整個字節(jié)或更大的內存空間。位段通常用于硬件編程或需要精確控制內存使用的場合。

位段的基本語法如下:

struct {  type member_name : width;  // 其他成員...  
} structure_name;type 是基礎數據類型(通常是整數類型),它決定了位段的基本存儲單位。
member_name 是位段的名稱。
width 是一個整數,指定了該位段所占用的位數。
structure_name 是結構體的名稱。

示例
下面是一個使用位段的簡單示例:
在這里插入圖片描述

應用場景
硬件寄存器訪問·? 在硬件編程中,許多設備的寄存器由一系列位組成,每個位表示設備的不同狀態(tài)、配置選項或標志。使用位段可以方便地訪問和控制這些位,而無需進行復雜的位運算或掩碼操作。??? ·? 例如,一個硬件設備的狀態(tài)寄存器可能有多個位字段,分別表示設備的不同狀態(tài)。通過使用位段,程序員可以直接通過結構體的成員名來訪問這些位字段,從而簡化代碼并提高可讀性。
節(jié)省存儲空間·? 當需要存儲大量的小規(guī)模數據時,位段可以有效地節(jié)省存儲空間。例如,在過程控制、參數檢測或數據通信等應用中,控制信息往往只占一個字節(jié)中的一個或幾個二進制位。通過使用位段,可以將多個這樣的信息存儲在一個字節(jié)中,從而節(jié)省存儲空間。? ?? ? ? ? ? ? ? ? · ? 參考文章提到,位段能夠把長度為奇數的數據包裝在一起,節(jié)省存儲空間。當程序需要成千上萬個這樣的結構體時,選擇位段是比較明智的。
訪問整數值的部分內容·? 位段允許程序員方便地訪問一個整數值的部分內容。這在處理包含多個不同含義的位的整數值時非常有用。通過定義位段,可以將整數值分解為多個有意義的字段,并直接訪問這些字段的值。
·? 例如,在TCP/IP協議中,數據包頭通常由多個字段組成,每個字段占用不同的位數。通過使用位段,可以方便地解析數據包頭并提取所需的字段值。
提高代碼可讀性·? 通過使用位段,可以將整數值分解為多個有意義的字段,并為每個字段分配一個具有描述性的名稱。這有助于提高代碼的可讀性和可維護性。程序員可以更容易地理解代碼的目的和功能,并更輕松地修改和維護代碼。
注意事項
跨平臺和編譯器差異位段的具體行為可能因編譯器和平臺而異。不同的編譯器可能會對位段的布局、填充和訪問方式進行不同的解釋。因此,在使用位段時,應確保你的代碼在所有目標平臺上都能正常工作。
內存對齊編譯器可能會在位段之間插入填充字節(jié),以確保結構體成員在內存中的對齊。這可能會導致位段的實際內存布局與你在代碼中指定的不同。
位段的大小限制位段的大小通常受到其基礎數據類型大小的限制。例如,如果你使用unsigned int作為位段的基礎數據類型,并且你的系統(tǒng)中unsigned int是32位的,那么任何unsigned int位段的最大寬度都不能超過32位。
訪問和修改由于位段的行為可能因編譯器而異,因此在使用位段時應格外小心。在訪問或修改位段的值時,可能需要使用位操作(如按位與、按位或、位移等)來確保數據的正確性。
可移植性由于位段的行為可能因編譯器和平臺而異,因此在使用位段時應考慮代碼的可移植性。如果可能的話,最好避免在需要跨平臺兼容性的代碼中使用位段。
http://www.risenshineclean.com/news/3415.html

相關文章:

  • wordpress 插件 支付搜索引擎關鍵詞優(yōu)化有哪些技巧
  • 離石做網站的公司做網絡推廣可以通過哪些渠道推廣
  • 門戶網站的建設思路百度網站排名怎么提高
  • 企業(yè)免費網站系統(tǒng)下載地址百度競價推廣什么意思
  • wordpress原始分頁共seo關鍵詞優(yōu)化費用
  • 相冊 wordpressaso如何優(yōu)化
  • c 做網站簡單嗎百度推廣怎么添加關鍵詞
  • 做網絡推廣的技巧網站優(yōu)化排名易下拉效率
  • 浦口區(qū)網站建站杭州seo渠道排名
  • 紅色專題網站首頁模板長春建站程序
  • 我的網站dedeapp推廣之家
  • wordpress媒體1m以上seo排名快速上升
  • 淘寶客導購網站模板seo排名首頁
  • 鄭州做網站推廣運營商寧波品牌網站推廣優(yōu)化公司
  • 網站建設模板代碼下載蘇州百度 seo
  • 深圳做微信商城網站建設蘇州seo營銷
  • 找事做搜索網站java培訓機構
  • 怎樣制作購物網站 微信轉發(fā)網站seo分析報告
  • wap端和app有什么區(qū)別全面落實疫情防控優(yōu)化措施
  • 廣西建設監(jiān)理協會官網站ui設計公司
  • 經典wordpress網站寧波網站推廣代運營
  • 做企業(yè)網站市場分析陜西整站關鍵詞自然排名優(yōu)化
  • 怎么用ps制作個人網站模板下載seo培訓學什么
  • 金融保險網站模板網絡廣告類型
  • 網站里的圖片切換怎么做網絡營銷推廣策略
  • 萬互網站建站sem搜索引擎
  • wap網站多少錢百度知道官網登錄入口
  • 株洲 網站建設百度關鍵詞優(yōu)化詞精靈
  • 手機微信網站模板買賣交易平臺
  • wordpress數據庫緩存建站seo是什么