結(jié)構(gòu)體所占內(nèi)存大小 結(jié)構(gòu)體占用內(nèi)存大小計(jì)算?
結(jié)構(gòu)體占用內(nèi)存大小計(jì)算?不,相同結(jié)構(gòu)占用的內(nèi)存是相同的。stone和sttwo之間的差異是由于內(nèi)存對(duì)齊問題造成的。在獲取內(nèi)存時(shí),根據(jù)主機(jī)系統(tǒng)的位數(shù),它是一個(gè)32位系統(tǒng)。對(duì)于64位系統(tǒng),每次取4個(gè)字節(jié),
結(jié)構(gòu)體占用內(nèi)存大小計(jì)算?
不,相同結(jié)構(gòu)占用的內(nèi)存是相同的。stone和sttwo之間的差異是由于內(nèi)存對(duì)齊問題造成的。在獲取內(nèi)存時(shí),根據(jù)主機(jī)系統(tǒng)的位數(shù),它是一個(gè)32位系統(tǒng)。對(duì)于64位系統(tǒng),每次取4個(gè)字節(jié),對(duì)于64位系統(tǒng),每次取8個(gè)字節(jié)。根據(jù)sizeof的結(jié)果,您的系統(tǒng)是32位的,因此每次提取4個(gè)字節(jié),而一個(gè)字節(jié)提取Char type占用1個(gè)字節(jié),int占用4個(gè)字節(jié),因此Char type自動(dòng)占用4個(gè)字節(jié)。否則,如果char占用一個(gè)字符并得到一個(gè)char,然后轉(zhuǎn)到int變量的前三個(gè),就會(huì)出現(xiàn)問題。因此,您將得到上述sizeof的結(jié)果。Sttwo不會(huì)得到結(jié)果,因?yàn)閮蓚€(gè)char類型相鄰,所以兩個(gè)char類型占用4個(gè)字符,得到結(jié)果我們先占用兩個(gè)char,然后是int。