指針變量sizeof 誰(shuí)來(lái)解釋一下sizeof()函數(shù)?
誰(shuí)來(lái)解釋一下sizeof()函數(shù)?Sizeof是C/C中的一個(gè)運(yùn)算符。簡(jiǎn)而言之,它的功能是返回對(duì)象或類(lèi)型占用的內(nèi)存字節(jié)數(shù)。語(yǔ)法:sizeof有三種語(yǔ)法形式,如下所示:1)sizeof(object)/
誰(shuí)來(lái)解釋一下sizeof()函數(shù)?
Sizeof是C/C中的一個(gè)運(yùn)算符。簡(jiǎn)而言之,它的功能是返回對(duì)象或類(lèi)型占用的內(nèi)存字節(jié)數(shù)。語(yǔ)法:sizeof有三種語(yǔ)法形式,如下所示:
1)sizeof(object)//sizeof(object)
2)sizeof(type)uname)//sizeof(type)
3)sizeofobject//sizeof object
sizeof的計(jì)算?
sizeof用于計(jì)算數(shù)據(jù)長(zhǎng)度。A和B是整數(shù)(int)數(shù)據(jù),是4個(gè)字節(jié)。即使是a*4和B*4,結(jié)果也是整數(shù)類(lèi)型的絕對(duì)數(shù),仍然是4字節(jié)。因此,sizeof(a*4)是4,sizeof(B*4)是4。X=((a=3)>(b=5))?Sizeof(a*4):Sizeof(b*4)。這個(gè)句子的過(guò)程是:第一,a=3和B=5的賦值運(yùn)算。很明顯3不大于5,所以取sizeof(b*4)的值4作為結(jié)果,賦給整數(shù)變量x,最后輸出x.
利用sizeof() 函數(shù)計(jì)算C語(yǔ)言中各種數(shù)據(jù)類(lèi)型所占用的存儲(chǔ)空間的大?。?/h2>
枚舉類(lèi)型,用C語(yǔ)言查找sizeof,可以先定義一個(gè)枚舉類(lèi)型,然后計(jì)算枚舉類(lèi)型中的元素或類(lèi)型的大小以獲得內(nèi)存長(zhǎng)度。代碼如下#include<stdio。H>enum test{Test0,test1,test2}int main(){printf(“測(cè)試大小為%dn”,sizeof(test))//按類(lèi)型計(jì)算大小。Printf(“size of test is%dn”,sizeof(test1))//查找元素的大小。Return 0}對(duì)于枚舉類(lèi)型,是否有負(fù)值根據(jù)unsigned int或int來(lái)處理,是否有符號(hào)不影響int的占用空間,因此在平臺(tái)實(shí)現(xiàn)中,任何枚舉類(lèi)型或枚舉變量都會(huì)占用與int類(lèi)型相同的空間。對(duì)于主流32位/64位平臺(tái),枚舉類(lèi)型占4字節(jié)。結(jié)果的大小是4。