變量a所占的計(jì)算機(jī)字節(jié)數(shù)是 變量a所占內(nèi)存字節(jié)數(shù)是?
變量a所占內(nèi)存字節(jié)數(shù)是?在數(shù)據(jù)結(jié)構(gòu)的定義中,我們定義了長度為6的字符串num[6]、int類型的數(shù)組s和double類型的ave。那么a所指的內(nèi)存區(qū)域的大小=字符串num的大小、數(shù)組s的大小、雙浮點(diǎn)A
變量a所占內(nèi)存字節(jié)數(shù)是?
在數(shù)據(jù)結(jié)構(gòu)的定義中,我們定義了長度為6的字符串num[6]、int類型的數(shù)組s和double類型的ave。那么a所指的內(nèi)存區(qū)域的大小=字符串num的大小、數(shù)組s的大小、雙浮點(diǎn)Ave的大小。在C語言中,字符串在定義時(shí)是預(yù)先分配的空間(初始化為0),大小是字符串的長度,即num的實(shí)際大小是6。數(shù)組本質(zhì)上是指針。當(dāng)沒有分配元素或malloc分配內(nèi)存時(shí),數(shù)組占用的內(nèi)存等于指針的內(nèi)存大小,因此S的大小就是指針的大小。雙精度浮點(diǎn)數(shù)的平均大小在定義時(shí)已確定。所以:內(nèi)存字節(jié)占用a=(6指針字節(jié),雙精度浮點(diǎn)字節(jié))(指針字節(jié))在32位機(jī)中,指針占用4字節(jié),雙精度浮點(diǎn)占用8字節(jié),在64位機(jī)中,指針占用8字節(jié),雙精度浮點(diǎn)占用8字節(jié),最終結(jié)果是:在32位機(jī)中,在2264位機(jī)器中,a的內(nèi)存大小是6484=68=30
在C語言中,一個(gè)字母字符占用一個(gè)字節(jié)。所以表面上看,它占用了一個(gè)字節(jié)。但是,C語言規(guī)定字符串的結(jié)尾必須后跟一個(gè)結(jié)束字符“0”,因此它總共應(yīng)該占用2個(gè)字節(jié),依此類推,ABC占用4個(gè)字節(jié)